HarmonyOS 鸿蒙Next HTTP使用Map传参问题
HarmonyOS 鸿蒙Next HTTP使用Map传参问题
//typescript
let params = new Map<string, string>()
params.set(‘pageCode’, ‘10000’)
let client = http.createHttp()
client.request(Url.BASE_URL + Url.JSON_MODEL, { extraData: params }, (err: BusinessError, data: http.HttpResponse) => {
if (!err) {
console.info(JSON.stringify(data.result))
} else {
console.error(JSON.stringify(err))
}
})
Map使用set方法后台无法获取到前端传的参数pageCode
更多关于HarmonyOS 鸿蒙Next HTTP使用Map传参问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
网络请求中的入参参考 HttpRequestOptions.extraData 描述,文档链接:@ohos.net.http (数据请求)-ArkTS API-Network Kit(网络服务)-网络-系统 - 华为HarmonyOS开发者 (huawei.com)
框架的支持度是固定的,技术实现上的实现可以自定义调整,如
1,content-Type'为'application/x-www-form-urlencoded'时,请求提交的信息主体数据应在key和value进行URL转码后按照键值对"key1=value1&key2=value2&key3=value3"的方式进行编码,该字段对应的类型通常为String;
2,content-Type'为'application/json'时,将对象的属性值设置为JSON字符串,{param: jsonStr},获取到接收端获取到param后再解析
更多关于HarmonyOS 鸿蒙Next HTTP使用Map传参问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
为什么要用Map,你用的是TS!
换成这个咯
Record<string, string>
针对HarmonyOS 鸿蒙Next HTTP使用Map传参问题,以下是一些关键点:
在HarmonyOS中,Map的使用基本遵循JavaScript的标准。当需要使用Map作为HTTP请求的参数时,确保Map对象已正确初始化并赋值。由于Map允许存储任何类型的键和值,因此可以灵活地构建请求参数。
然而,HTTP请求通常期望参数为特定的格式,如JSON。因此,在发送请求之前,需要将Map对象转换为JSON字符串。这可以通过使用JSON.stringify()
方法实现。
此外,还需要注意HTTP请求的类型(如GET、POST)以及请求头的设置。对于POST请求,通常需要将JSON字符串作为请求的body发送,并设置正确的Content-Type
(如application/json
)。
如果在HarmonyOS鸿蒙Next中使用Map传参遇到问题,请检查以下几点:
- 确保Map对象已正确初始化并赋值。
- 将Map对象转换为JSON字符串后再发送。
- 设置正确的HTTP请求类型和请求头。
- 检查服务器端是否支持接收JSON格式的参数。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html