微信小程序封装ajax
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:51
封装ajax
- 前言
- 代码
前言
使用小程序的 API
wx.request 调用接口时,总是没有 Promise
用得顺手,何不将 wx.request
封装成返回一个 Promise
的函数,说干就干。
代码
- 保存登录接口返回的
cookie
wx.setStorageSync("sessionid", res.header["Set-Cookie"])
- 封装ajax的代码
// ajax.js
const DEFAULT_HEADER = {
'content-type': 'application/json',
}
// 接口所在域名
const BASE_URL = 'http://localhost:3000'
// wx.getStorageSync("sessionid") 登录成功后服务器返回cookie,
// 保存在本地缓存中,若不需要就去除。
export const ajax = (api, params = {}, method = 'POST', header = {}) => {
return new Promise((resolve, reject) => {
wx.request({
url: `${BASE_URL}${api}`,
method: method,
data: params,
header: Object.assign(header, DEFAULT_HEADER, {'cookie': wx.getStorageSync("sessionid")}),
success (res) {
const data = res.data
if (data) {
if (data.code == 0) {
resolve(data)
} else if(data.code == 250){
// 未登录
wx.reLaunch({url: '/pages/login/login'})
resolve(data);
} else {
resolve(data)
}
}
resolve(res)
},
fail (res) {
reject(res)
}
})
})
}