在使用uniapp发起请求的时候,我看到它返回的数据格式跟我在接口文档中看到的不一样,本来应该是object类型的,不知道咋的变成了arrry类型,而且第一个值是null???虽然说这样也能使用,但毕竟跟原来的接口文档就有些不一样,有时候可能会搞混,那还是找找怎么解决吧
找度娘问了下,虽然不清楚是什么原因来着,不过解决办法倒是有,就是封装成promise就可以了
可以先新建一个utils工具类文件夹,在里面新建一个request.js
const baseUrl="你的接口地址那通用部分"
//导出一个名为http的方法
export function http(option){
uni.showLoading({
title:"加载中"
})
return new Promise((resolve,reject)=>{
uni.request({
url: baseUrl+option.url,
method: option.method || "GET",
data:option.data|| {},
header:option.header||{},
success: res => {
resolve(res)
},
fail:err=>{
reject(err)
},
complete() {
uni.hideLoading();
}
})
})
}
封装好http请求之后,我们再到需要调用这个请求的页面中导入
import {http} from "../../utils/request.js"
// 这里的路径记得写你自己的
导入了之后就可以使用了,示例如下:
<script>
import {http} from "../../utils/request.js"
export default {
data() {
return {
}
},
onLoad() {
this.getSwiper();
},
methods: {
getSwiper() {
http({
url:"/swiperdata",
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
}
}
}
</script>