uni-app网络请求封装

uni-app网络请求封装,第1张

请求结果

注意 :页面POST请求header需配置为 {'content-type' : "application/x-www-form-urlencoded"},如:

故,可对网络请求封装继续优化。

拓展:设置网络请求为同步可参考 Promise 封装 。大致可分为三种方案:请求嵌套(异步方式的成功回调里获取数据后再采用异步方式请求)、promise 或者await,具体实现可自行实践,这里不详细叙述。

(1) 未封装前index.vue页面使用

备注:后台返回的data值如下

打印结果: uniapp上传文件api返回的data是字符串类型,需先将data转换为json对象,之后再取里面的值 。

(2) main.js中封装网络请求

(3) 封装后index.vue页面调用

(1) http.js

(2) 单页面引入js文件并调用

(3) 全局引入js文件并调用

分析 :app端无法解析业务数据data;但是响应头与h5端相比多了3个android相关的参数,即 X-Android-Sent-Millis 、 X-Android-Response-Source 和 X-Android-Received-Millis 。

解决 :修改该uni-app项目的配置文件mainfest.json,选择App常用其他设置,自定义组件模式默认是开启的, 关闭自定义组件模式 重启开发工具 即解决app端无法解析业务数据的问题,此时app端获取到的响应头的参数与h5端是一样的。

(1) 请求服务器A中的接口a(app端和h5端都能请求到业务数据)

(2) 请求服务器B中的接口b

问题 :app端请求的业务数据data一直为“200 OK”,但h5端可以请求到业务数据。

分析 :应该是响应头的问题。

总结 :h5端正常解析,但是app端数据解析异常,可能原因是不同语言对header解析不一样(有些语言是弱语言,兼容性没有那个大)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11800220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存