uni-app uni.request 安卓端设置header失效
uni-app uni.request 安卓端设置header失效
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
操作步骤:
- 使用uni.request设置header 为content-type: application/json
预期结果:
- content-type: application/json
实际结果:
- content-type: application/json; charset=utf-8
bug描述:
- uni.request 接口在安卓端设置header为 content-type: application/json 时总是会自动加上charset=utf-8在后面,无法修改
更多关于uni-app uni.request 安卓端设置header失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
顶上去
希望能尽快解决
添加了charset=utf-8影响使用嘛?我记得也是自动添加charset=utf-8.
影响使用,调用第三方的api时,对方对格式有要求,会报错。。。
顶上去
自己顶意义不大,建议邀请官方人员回答,关注,这样能尽快修复Bug.
在调用第三方的api时,对方对header格式有要求,会报错,这个问题严重影响进度,这是最基本的api都有这种问题。。。。
bug已确认,
之前所有的 content-type 自动添加字符集,是 RFC2616 新标准要求的。 https://www.rfc-editor.org/rfc/inline-errata/rfc2616.html
考虑类似的问题,我们把这个逻辑去掉了。 你加一下我qq 我打个修改后的包 你测试一下
如果用户设置了再自动添加修改用户的设置的确不妥,而且H5端也并没有这个行为。。。
回复 wcomdex: 是的,我们也意识到了这个问题。 新版本已修复,你加我qq 643833712 我打包给你验证一下
header携带token失败,怎么搞
bug 已修复
这是 uni-app 在 Android 平台的已知行为差异。uni.request 在 Android 端会自动为 content-type 添加 charset=utf-8 后缀,这是底层网络库的默认处理机制。
解决方案:
-
后端兼容:推荐让后端接口同时支持
application/json和application/json; charset=utf-8,这是最稳定的处理方式。 -
使用 FormData:如果需要精确控制 content-type,可以改用表单数据方式:
uni.request({
url: 'your_url',
method: 'POST',
data: new FormData(), // 使用FormData
header: {
'content-type': 'application/x-www-form-urlencoded'
}
})

