小程序ajax的封装
最近做公司的小程序的项目的时候,发现小程序的ajax比较麻烦,在github上找了几个小程序的封装ajax,发现在实际运用中存在函数的执行顺序问题,于是乎,自己基于小程序原生的ajax封装了一下,废话不多说!代码如下:
在app.js中对ajax进行了一下全局变量的封装
ajax(Type, params, url, successData, errorData, completeData) {
params.appid = 'wxmp_Ix32k5aI';
var methonType ="application/json";
var https = "https://hotel.wxmp.91zmt.com"
var client_secret = 'NzToVz83v7DgG7MJ9UnYq9G39wb7aVZ3';
var st = new Date().getTime()
var sign = sdk.getSignature(params, st, client_secret);
if (Type=="POST"){
methonType = "application/x-www-form-urlencoded"
}
wx.request({
url: https + url,
method: Type,
header: {
'content-type': methonType,
'Muses-Timestamp': st,
'Muses-Signature': sign
},
data: params,
success: (res) => {
successData(res)
},
error(res) {
errorData(res)
},
complete(res) {
completeData(res)
}
})
},
在其它页面用的时候,先const app=getApp()
//这是一个变量,即传进ajax的参数
var params = {
openid: app.globalData.openid,
}
app.ajax("POST", params, "/hotel/api/product/v1/hotelInfo", (res) => {
console.log(res.data)
wx.hideLoading()
}, (res) => {
console.log(res.data)
}, (res) => { });
这样的话在做项目的时候就正常写就可以了,不会出现一些函数的执行顺序问题,欢迎大家多提提意见