wx.request的坑,POST请求header需要改一下,php设置跨域问题

不得不说的微信小程序网络请求的问题,这个坑超级容易跳进去,按照提供的文档,90%都会进坑而不知道怎么回事,莫名其妙。我也是经过多次摸索和查阅资料发现的,在这里做个笔记,刚开始习惯跟着文档写请求,用json类型的请求头,多个页面都统一了,这些坑不得不说说。到今天想加个小功能的时候,还是被之前埋下的坑骗了。

用POST请求服务器数据进行增删改很正常的操作,在小程序安装官方的文档就是不行,查询倒是没有问题。结果就出现在请求头问题上。下面是案例(刷新请求数据更新):

onPullDownRefresh:function(){

var self=this

wx.showNavigationBarLoading()

self.setData({

fresh:"正在刷新……"

}),

wx.request({

url: 'https://lanlanlove.php', //非真实接口

method: 'POST',

data: {

token:'ca2c715ca9b60a565f41c923a74d2268',

first:first+1,

end:end+10

},

header: {

'content-type': 'application/x-www-form-urlencoded' //这是是重点啊,官方非增删改用'content-type': 'application/json'是没有问题的

},

success: function (res) {

wx.hideNavigationBarLoading()

self.setData({

articles: res.data.data,

fresh: ""

})

wx.stopPullDownRefresh(),

wx.hideNavigationBarLoading()

},

fail: function () {

console.log('服务器请求失败')

},

})

}



主要就是这里了,不改的话在服务器就无法获取到传递过来的data参数,显示undefined ……



header: {

'content-type': 'application/x-www-form-urlencoded' //这是是重点啊,官方非增删改用'content-type': 'application/json'是没有问题的

},



php后台设置跨域:

header('Access-Control-Allow-Origin: * ');//*代表全部,可以单独设置
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Expose-Headers: *');//*代表全部
header('Access-Control-Allow-Headers: *');//*代表全部


评论/留言