2 chaobaby94 ChaoBaby94 于 2017.01.16 17:36 提问

微信小程序提交POST请求后端无法获取请求参数

微信小程序提交POST请求后端无法获取请求参数。
js代码
Page({
data:{

},
formSubmit : function(e){
    var that = this
    console.log(e.detail.value)
    wx.request({
      url: 'http://localhost/wx/form',
      data: e.detail.value,
      method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
       header: {
           "Content-Type": "application/x-www-form-urlencoded"
       }, // 设置请求的 header
      success: function(res){
        // success
        // res.data返回来的就是response返回的json对象
        console.log(res.data.msg)
        var msg = res.data.msg
        that.setData({msg,msg })
      },
      fail: function() {
        // fail
      },
      complete: function() {
        // complete
      }
    })
},
formReset : function(e){
    console.log("reset")
}

})
控制台打印的e.detail.value是有值得,传到后台全都是null。求解。
还有一个问题,我是提交POST请求,但是后端不提供GET,只提供POST会出现405.

3个回答

zhangpan_soft
zhangpan_soft   2017.01.16 19:20

你应该没有键值吧,e.detail.value打印出来的是个json?,如果是json就让后台的参数和你的json键值一样,如果不是json就写成这个样{"test":e.detail.value},test就是后台参数名,

zhangpan_soft
zhangpan_soft 回复ChaoBaby94: 还有,把那个请求头换掉,换成:"application/json;charset=utf-8"
11 个月之前 回复
zhangpan_soft
zhangpan_soft 欢迎关注
11 个月之前 回复
zhangpan_soft
zhangpan_soft 回复ChaoBaby94: 还有,后台只提供post,你用post请求没错,应该是有两个方法请求路径一样,参数不一样,请求方法不一样,所以你的参数没有对上的时候可能访问的是另外一个方法,从而405,如果你的路径正确,请求参数正确,只需要提供post,不会405
11 个月之前 回复
ChaoBaby94
ChaoBaby94 知道为什么提交2次了,formType=submit后不需要再绑定事件
11 个月之前 回复
ChaoBaby94
ChaoBaby94 打印出来的是json。{username:"xxx",switch:true}之类的,但是后台打印都是null,GET请求可以获取到值。还有个问题就是为什么这段代码会请求2次后台?
11 个月之前 回复
zhangpan_soft
zhangpan_soft   2017.01.16 19:23

还有,后台只提供post,你用post请求没错,应该是有两个方法请求路径一样,参数不一样,请求方法不一样,所以你的参数没有对上的时候可能访问的是另外一个方法,从而405,如果你的路径正确,请求参数正确,只需要提供post,不会405

Strive_xwp
Strive_xwp   2017.12.05 10:59

lz这个问题解决了吗,求分享。十分谢谢、

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!