let responseResult = httpRequest.request(this.url, {
method: http.RequestMethod.POST,
readTimeout: 5000,
connectTimeout: 100000,
extraData :this.parameters
});
this.parameters的数据结构是什么?
let responseResult = httpRequest.request(this.url, {
method: http.RequestMethod.POST,
readTimeout: 5000,
connectTimeout: 100000,
extraData :this.parameters
});
this.parameters的数据结构是什么?
1 回答560 阅读✓ 已解决
1.3k 阅读
531 阅读
extraData允许的数据类型有string | Object | ArrayBuffer,
当HTTP请求为POST、PUT等方法时,此字段为HTTP请求的content,以UTF-8编码形式作为请求体。
当’content-Type’为’application/x-www-form-urlencoded’时,请求提交的信息主体数据必须在key和value进行URL转码后(encodeURIComponent/encodeURI),按照键值对"key1=value1&key2=value2&key3=value3"的方式进行编码,该字段对应的类型通常为String;
当’content-Type’为’text/xml’时,该字段对应的类型通常为String;
当’content-Type’为’application/json’时,该字段对应的类型通常为Object;
当’content-Type’为’application/octet-stream’时,该字段对应的类型通常为ArrayBuffer;
当’content-Type’为’multipart/form-data’且需上传的字段为文件时,该字段对应的类型通常为ArrayBuffer。
HTTP请求为GET、OPTIONS、DELETE、TRACE、CONNECT等方法时,此字段为HTTP请求参数的补充。
开发者需传入Encode编码后的string类型参数,
Object类型的参数无需预编码,参数内容会拼接到URL中进行发送;
ArrayBuffer类型的参数不会做拼接处理。
具体可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5\#httprequestoptions