Uniapp发送请求 在安卓上的请求头的content-type 会自带utf-8 后缀的问题

**问题起因:**在写uniapp的程序中 一个接口 在h5端可以正常跑通,但在安卓机上调试时一个接口总是不通,但是其他接口正常通过,可以拿到相应的数据,由于后端的接口是由一个智能盒子提供的,只能通过前端进行排查,通过Fiddler 抓包和h5的接口进行对比 最后锁定bug 是由于 uniapp编译安卓接口请求时 content-type:application/json 后面会自动加上 utf-8的后缀,导致接口不通过(接口有校验 必须为content-type:application/json),但是安卓编译后的请求头为content-type:application/json; charset=utf-8
如图:在这里插入图片描述
解决思路:
所以我们需要 想办法去掉这个后缀,但这个后缀又不是我们代码所添加上去的,是编译后自己加上去的,开始有试过拿uniapp插件的其他请求方式进行请求,但是都是基于uni.request 进行封装的,有试过市场上两到三款请求工具,最后编译完这个请求的后缀仍去不掉。

最终解决
最后解决 是去uniapp社区搜索关键字 ‘content-type’ 搜到了一种应该是uniapp老版本的请求方式,虽然问题跟我遇到的不一样,但是让我知道了uniapp 除了 uni.request请求外 还可以用XMLHttpRequest方式进行请求
如图:在这里插入图片描述
如图14年的回答…现在应该基本没人用这种方式进行请求了。
于是用这种请求方式在安卓真机上调试,结果可以正常获取到数据,utf-8的后缀成功去掉看到久违200状态码!如图:在这里插入图片描述
最后贴上代码:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值