uni-app 安卓手机request的请求头有中文请求无法发出
uni-app 安卓手机request的请求头有中文请求无法发出
示例代码:
uni.request({
header:{
realName:'你好'
}
})
操作步骤:
访问带中文请求头的请求
预期结果:
成功
实际结果:
失败
bug描述:
安卓手机request的请求头有中文请求无法发出
1 回复
更多关于uni-app 安卓手机request的请求头有中文请求无法发出的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个常见的编码问题。在Android平台上,请求头中的中文字符需要正确编码才能正常发送。
解决方案:
- 使用
encodeURIComponent()对中文进行编码:
uni.request({
header: {
realName: encodeURIComponent('你好')
}
})
- 服务端需要对编码后的值进行解码:
- Java:
URLDecoder.decode(realName, "UTF-8") - PHP:
urldecode($realName) - Node.js:
decodeURIComponent(realName)
- 如果需要保持请求头可读性,可以考虑:
- 使用拼音或英文替代中文
- 将中文参数放在请求体而非请求头中
- 使用Base64编码
- 完整示例:
uni.request({
url: 'your-api-url',
method: 'POST',
header: {
'realName': encodeURIComponent('你好'),
'Content-Type': 'application/x-www-form-urlencoded'
},
success: (res) => {
console.log(res.data)
}
})

