目录

HTTP网络请求extraData参数问题

问题现象

解决方案

总结

extraData支持string、Object、ArrayBuffer三种数据类型,且长度没有限制,根据业务场景extraData入参也有所不同:

  1. 当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。
  2. 当HTTP请求为GET、OPTIONS、DELETE、TRACE、CONNECT等方法时,此字段为HTTP请求参数的补充。开发者需传入Encode编码后的string类型参数,Object类型的参数无需预编码,参数内容会拼接到URL中进行发送。ArrayBuffer类型的参数不会做拼接处理。
  3. 发起HTTP请求时,extraData为可选配置参数,发送请求的额外数据,默认无此字段。没有额外数据时,避免添加该参数;若必须添加,请填写undefined或者null,避免直接传入空字符串。