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   Rxr 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"
一年多之前 回复
zhangpan_soft
zhangpan_soft 欢迎关注
一年多之前 回复
zhangpan_soft
zhangpan_soft 回复ChaoBaby94: 还有,后台只提供post,你用post请求没错,应该是有两个方法请求路径一样,参数不一样,请求方法不一样,所以你的参数没有对上的时候可能访问的是另外一个方法,从而405,如果你的路径正确,请求参数正确,只需要提供post,不会405
一年多之前 回复
ChaoBaby94
ChaoBaby94 知道为什么提交2次了,formType=submit后不需要再绑定事件
一年多之前 回复
ChaoBaby94
ChaoBaby94 打印出来的是json。{username:"xxx",switch:true}之类的,但是后台打印都是null,GET请求可以获取到值。还有个问题就是为什么这段代码会请求2次后台?
一年多之前 回复
zhangpan_soft
zhangpan_soft   Rxr 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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
微信小程序POST请求参数传递不到后台解决方案
问题:POST 请求参数传递不到后台 解决方案: Content-Type’: ‘application/json’用在get请求中没问题. 但是在POST请求中的时候需要使用”Content-Type”: “application/x-www-form-urlencoded”
微信小程序POST请求后台获取不到请求的参数
这是我一开始写的请求的demo wx.request({ url: 'http://192.168.1.123/StudentManage/jsdemo.php', method:'post', data: { username: 'yaodan', password: '123456' }, head...
微信小程序:wx.request()请求后台接收不到参数
微信小程序调用wx.request()发送POST请求时,后台无法接收到请求的参数。解决方案一:最简单的是修改wx.request()的请求头中的content-type:wx.request({ url: url, method: 'POST', data:{你的数据}, header: { 'content-type': 'application/x...
小程序post提交,springmvc为后台接收不到参数
前端做小程序,我用springmvc为其编写接口。将接口文档给他后他告诉我接口有毛病,然后我跑过去看了看,参数都没错。后台是doctorid,他提交的也是doctorid。然后我改为get后又没问题了。下午脑子一闪是不是跟请求头有关,然后查询小程序官方文档发现如下说明: data 数据说明: 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被
微信小程序post请求服务器端无法获取的解答
$_POST 只能接收 Content-Type 为 application/x-www-form-urlencoded 和 multipart/form-data 的 POST 数据。 如果你要用 $_POST 的话,你就改一下这里: header: { 'Content-Type': 'application/json' } 把
【小程序】POST请求服务器接收不到参数
title: 【小程序】POST请求服务器接收不到参数 type: categories date: 2017-05-03 10:27:25 categories: 小程序tags: POST请求服务器接收不到参数的坑 设置header如下header: { "Content-Type": "application/x-www-form-urlencoded" }
微信小程序发送POST请求参数格式
微信小程序的wx.request请求,method设为POST并向后台传递数据格式如下: wx.request({ url: 'https://xcx.hymba.com/sms?token=' + app.globalData.token, data: {'mobile':tel}, method:'POST', succe
微信小程序wx.request请求用POST后台得不到传递数据
微信小程序的wx.request请求,method设为POST并向后台传递数据,但从后台返回的信息来看后台并没有获得传递的数据 wx.request({               url: 'url',               data: {                   phone:phone,                   carID:id            
微信小程序 Node.js (基础十二) GET/POST请求
微信小程序 Node.js (基础十二) GET/POST请求
微信小程序之POST请求
在微信小程序里post请求和get情求,写法差不多,但是还是有一点点不同的,下面利用post请求做一个查询天气的微信小程序demo。页面代码: <view> {{title}} </view><span style="font-size:24px;"><!--index.wxml--> <view class="container"> <view style="color:{{red