GET请求的参数是通过URL来传递的,而POST请求则是通过HTTP的请求体中传过来的,.Net WebAPI的POST请求也需要从HTTP的请求体里面去取参数。传输单个值时,可以通过URL参数或者FromBody来传输接收,那么传输多个值时怎么处理呢?
前端
前端需要发起 HTTPS网络请求,将code、nick等数据通过api传输到后端。
此时,先通过JSON.stringify()方法将对象序列化。
wx.request(
{
url : globalRootDomain + "api/Login",
data : JSON.stringify({code : res.code, nick : that.data.nick}),
method : 'POST',
header : {
"Content-Type" : "application/json"
},
success : function (res)
{
if (res.statusCode == 200)
{
wx.setStorageSync('openid', JSON.parse(res.data.message).openid) console.log('用户登录小程序,openid:' + JSON.parse(res.data.message).openid);
wx.switchTab({
url : '/pages/index/index',
});
}
else {
console.log(res.errMsg)
};
},
fail : function (e)
{
console.log(e)
}
})
后端
public static appReturnResult Login(dynamic myObj)
{
appReturnResult obj = new appReturnResult();
obj.message = retString;
obj.result = true;
return obj;
}
如上代码块所示,后端通过dynamic来接收序列化的值即可。
通过给程序打断点的方式,从上图可知,已经成功获取前端传过来的所有值。