解决ASP.NET MVC 接受Request Payload参数问题

   今天与跟前端小伙伴对接口,发现微信小程序的POST带参数传值HttpContent.Request[]接收不到参数。

拿小程序官网文档举例

wx.request({
  url: 'Text/Text', //仅为示例,并非真实的接口地址
  data: {
     x: '我是' ,
     y: '参数'
  },
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

      这样访问接口压根收不到参数。解决办法有两种一种修改“application/json”为“application/x-www-form-urlencoded”这样修改后参数会变成x='我是'&y=’参数‘,这样在后台接受的话需要HttpContent.Request["x"]和HttpContent.Request["y"]来接受,但是这不是我想要的,我想直接用一个对象反序列化接受,这样一个个写少了还好,多了能把我累死。所以我找了其他方法就有了

string str = new System.IO.StreamReader(base.Request.InputStream).ReadToEnd();

这样str取得的参数就是“{x:'我是',y:'参数'}”了

posted @ 2018-09-13 21:08  FallenDown  阅读(934)  评论(1编辑  收藏  举报