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

14 回复

顶上去

更多关于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 后缀,这是底层网络库的默认处理机制。

解决方案:

  1. 后端兼容:推荐让后端接口同时支持 application/jsonapplication/json; charset=utf-8,这是最稳定的处理方式。

  2. 使用 FormData:如果需要精确控制 content-type,可以改用表单数据方式:

uni.request({
  url: 'your_url',
  method: 'POST',
  data: new FormData(), // 使用FormData
  header: {
    'content-type': 'application/x-www-form-urlencoded'
  }
})
回到顶部