HarmonyOS 鸿蒙Next 使用HTTP的get请求时一直返回400
HarmonyOS 鸿蒙Next 使用HTTP的get请求时一直返回400
我想咨询一下在使用Http的get请求的时候,由于参数有汉字就会一直400,将参数改为非汉字就正常了.我有用postman调接口,汉字和非汉字都是正常的。这个要怎么处理。
3 回复
url包含中文或其他语言,需先调用encodeURL(url)编码,再发起请求。
对于包含非ASCII字符(如汉字)的字符串,必须使用encodeURIComponent()函数来编码这些字符。
```@Entry @Component struct HitTestBehaviorExample { build() { // outer stack Stack() { Button(‘测试’).onClick(() => {
const url = 'http://example.com/api';
const params: object = Object({
name: '张三',
age: 30
});
// 将参数对象转换为查询字符串,并且对每个参数值进行编码
const queryString = Object.keys(params)
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)
.join('&');
// 构建完整的URL
const fullUrl = `${url}?${queryString}`;
console.info(`fullUrl:${fullUrl}`)
})
}
} }