Http.jsm

翻译不完整。 请帮助我们翻译这篇文章!

HTTP.jsm

Http.jsm 提供了 httpRequest-XMLHttpRequest的包装器,它为处理HTTP请求提供了方便和简化的API。

httpRequest 支持以下参数:

name meaning
headers header 的数组
postData

取值范围:

  • string: 按原样发送
  • 数组: 编码为表单值
  • null/undefined: 没有POST数据.

method

GET, POST , PUT (如果postData存在,将自动设置).
onLoad

加载完成时调用的方法,它接受两个参数:responseText和XHR对象。

onError

当错误发生时调用的方法,它接受三个参数:error、responseText和XHR对象。

logger

实现调试和日志方法的对象(例如log.jsm)。

header 或 postData 是作为二维数组给出的,对于每个内部数组,第一个值是键,第二个值是值。例如: [["key1", "value1"], ["key2", "value2"]].

提交 post 数据

httpRequest允许向post请求附加数据。可以通过postData选项指定数据。postData可以有两种类型:字符串或数组。当给出null/undefined时,将不发送任何数据。如果给定一个字符串,数据将按原样追加到请求中。如果给定一个参数数组,它将被视为一个键值对数组。数组的元素将采用url编码,并会强制设置content type为“application/x-www-form-urlencoded;charset=utf-8"。Http.jsm只在post数据是数组时强行设置content type,并自动序列化它。如果提供的postdata是一个字符串,则不设置内容类型。在这种情况下,可以通过header参数设置content type。

可选的XHR 配置

在调用httpRequest之后,可以手动修改XHR对象上的内容。httpRequest返回一个XHR对象,该对象可用于设置请求的附加参数。例如,可以将XHR配置为在处理响应时使用任何自定义mime类型,而不管服务器返回什么。为此,可以通过调用httpRequest获得XHR对象,然后调用它的overrideMimeType()方法去设置MIME-Type。另一个例子可以在这里找到。