uniapp的坑之请求头设置
最近公司做一个app,用uniapp把h5打包成app..和后台对接口的时候遇到了超级大坑,将近解决了一天,话不多说,进入主题。。首先需要必须必须注意的一点就是:uniapp写 h5 不 支 持 设 置 请 求 头!!举个例子,后台同样的接口,在某种格式下,你用vscode写pc,可以用,但是你用uniapp写 h5就不行,这个时候,你需要咋办?你需要用HBuilder X的内置浏览器启动你的项目
最近公司做一个app,用uniapp把h5打包成app..
和后台对接口的时候遇到了一个坑,将近解决了一天,话不多说,进入主题。。
首先需要必须必须注意的一点就是:
uniapp写 h5 不 支 持 设 置 请 求 头
举个例子,后台同样的接口,在某种格式下,你用vscode写pc,可以用,但是你用uniapp写 h5就不行,这个时候你需要用HBuilder X的内置浏览器启动你的项目,然后在你的请求上设置请求头:
header: {
'content-type': 'application/x-www-form-urlencoded'
},
然后再uniapp的内置浏览器模式下就可以正常请求了..
下面是封装好的请求,CV直接用
export const http = (options) => {
return new Promise((resolve,reject) => {
uni.request({
url: setting.apiBaseUrl + options.url,
method: options.method || 'GET',
data: options.data || {},
header: {
'Authorization':uni.getStorageSync('Authorization'),
'content-type': 'application/x-www-form-urlencoded',
},
timeout:5000,
success: (res) => {
if (res == '') {
return uni.showToast({
icon: 'loading',
title:'获取数据失败'
})
}else if(res.data.code==703){
return uni.showModal({
title: '提示',
content: '登录信息已过期,请重新登录',
success: function (res) {
if (res.confirm) {
uni.navigateTo({
url:'/pages/login/login'
})
} else if (res.cancel) {
uni.navigateTo({
url:'/pages/login/login'
})
}
}
});
}
resolve(res)
},
fail: (err) => {
return uni.showToast({
icon: 'loading',
title:'请求失败'
})
reject(err)
}
})
})
}
over
更多推荐
所有评论(0)