⼩程序wx.request(接⼝调⽤⽅式)详解及实例
⼩程序 wx.request----接⼝调⽤⽅式
最近开发了⼀个⼩程序版的任务管理系统,在向Java后台发送接⼝时遇到了⼀些问题,在这⾥做⼀个简单的总结。官⽅接⼝
官⽅给出的接⼝叫做wx.request,请求⽅式⽐较简单,下⾯是官⽹给出的请求实例。
url: 'test.php', //仅为⽰例,并⾮真实的接⼝地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})
存在的问题
&name1=value1&name2=value2的形式,这样在根据content-type来解析请求数据时就会出现问题,不知道是有意这样做还是它根本就是个bug。总之是给我带来了不必要的⿇烦。
⼩程序发送的是https请求,在本地调试时可以⽤http,如果放在⼿机上测试时校验请求⽅式和域名,不合法会报以下错误:
为了⽅便请求,可以对wx.request做⼀个简单的封装,这样我们再调⽤的时候就⽅便了许多,代码如下:
var app = getApp();
function request(url,postData,doSuccess,doFail,doComplete){
var host = getApp().conf.host;
url: host+url,
data:postData,
app开发实例method: 'POST',
success: function(res){
if(typeof doSuccess == "function"){
doSuccess(res);
}
},
fail: function() {
if(typeof doFail == "function"){
doFail();
}
},
complete: function() {
if(typeof doComplete == "function"){
doComplete();
}
}
});
}
}
如果⼀个接⼝在不同地⽅频繁⽤到,原本设想写⼀个函数,然后将函数暴露供其他js调⽤,但后来发现wx.request中设置async是⽆效的,只能发异步请求,所以如果想写⼀个函数来返回调⽤接⼝得到的数据就⽐较难实现。
感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论