HarmonyOS POST请求传参?

let responseResult = httpRequest.request(this.url, {
  method: http.RequestMethod.POST,
  readTimeout: 5000,
  connectTimeout: 100000,
  extraData :this.parameters
});

this.parameters的数据结构是什么?

阅读 466
1 个回答

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

logo
HarmonyOS
子站问答
访问
宣传栏