原型 - AJAX 选项



这是一个共享一组公共选项和回调的Ajax命名空间。

回调在请求生命周期的各个点被调用,并且始终具有相同的参数列表。它们与其他选项一起传递给请求者。

常用选项

选项 描述
异步 (asynchronous)

默认值为true.

确定是否异步使用 XMLHttpRequest。

contentType

默认值为application/x-www-form-urlencoded.

请求的 Content-Type 头。

编码 (encoding)

默认值为UTF-8.

请求的 Content-Type 头。

方法 (method)

默认值为post.

请求使用的 HTTP 方法。

参数 (parameters)

默认值为' '.

请求的参数,对于 'get' 方法将被编码到 URL 中,对于其他方法将被编码到请求正文中。这可以作为 URL 编码字符串或任何具有表示参数的属性的 Hash 兼容对象提供。

postBody

默认值为.

“post”方法请求正文的特定内容。如果未提供,则将使用参数选项的内容。

requestHeaders

见下文描述.

请求头可以以两种形式传递:

  • 作为对象,其属性表示标头。

  • 作为数组,偶数索引 (0, 2…) 元素为标头名称,奇数索引 (1, 3…) 元素为值。

原型自动提供一组默认标头,此选项可以覆盖和增强这些标头:

  • X-Requested-With 设置为'XMLHttpRequest'

  • X-Prototype-Version 提供原型的当前版本 (例如 1.5.0)。

  • Accept 默认值为'text/javascript, text/html, application/xml, text/xml, */*'

  • Content-type 基于contentTypeencoding 选项构建。

evalJS

默认值为true.

如果服务器返回的内容类型是以下类型之一,则自动计算Ajax.Response#responseText的内容:

application/ecmascript,

application/javascript,

application/x-ecmascript,

application/x-javascript,

text/ecmascript,

text/javascript,

text/x-ecmascript 或

text/x-javascript,并且请求遵守SOP(同源策略)。如果需要强制计算,则传递 'force'。要完全阻止它,则传递 false。

evalJSON

默认值为true.

如果服务器返回的内容类型设置为application/json,则自动计算Ajax.Response#responseText的内容,并使用它填充Ajax.Response#responseJSON

如果请求不遵守 SOP,则在计算之前会清理内容。如果需要强制计算,则传递 'force'。要完全阻止它,则传递 false。

sanitizeJSON

本地请求为false,否则为true.

在计算Ajax.Response#responseText的内容之前对其进行清理。

常用回调

序号 回调和描述
1.

onCreate

在初始化 Ajax.Request 对象时触发。这是在处理参数和 URL 之后,但在第一次使用 XHR 对象的方法之前。

2.

onComplete

在请求生命周期的最后触发,一旦请求完成,状态特定的回调被调用,并且可能处理了自动行为。

3.

onException

每当出现 XHR 错误时触发。具有自定义签名:第一个参数是请求者(即 Ajax.Request 实例),第二个是异常对象。

4.

onFailure

当请求完成并且其状态代码存在但不属于 2xy 系列时调用。如果定义了代码特定的回调,则跳过此步骤,并在 onComplete 之前发生。

5.

onInteractive

不保证,但每当请求者接收响应的一部分(但不是最后一部分)时触发,如果它被分成几个数据包发送。

6.

onLoaded

不保证,但一旦底层 XHR 对象设置完毕,连接打开并准备好发送其实际请求时触发。

7.

onLoading

不保证,但当底层 XHR 对象正在设置,并且其连接已打开时触发。

8.

onSuccess

当请求完成并且其状态代码未定义或属于 2xy 系列时调用。如果定义了代码特定的回调,则跳过此步骤,并在onComplete之前发生。

9.

onUninitialized

不保证,但在刚创建 XHR 对象时调用。

10.

onXYZ

其中 XYZ 是响应的 HTTP 状态代码。当响应刚完成并且状态代码与我们在回调名称中使用的状态代码完全相同时调用。阻止 onSuccess/onFailure 的执行。在 onComplete 之前发生。

响应者回调

序号 回调和描述
1.

onCreate

每当创建 Ajax 命名空间中的请求者对象时触发,在调整其参数并且在打开其 XHR 连接之前。这需要两个参数:请求者对象和底层XHR 对象

2.

onComplete

在请求生命周期的最后触发,一旦请求完成,状态特定的回调被调用,并且可能处理了自动行为。

3.

onException

每当出现 XHR 错误时触发。具有自定义签名:第一个参数是请求者(即 Ajax.Request 实例),第二个是异常对象。

4.

onInteractive

不保证,但每当请求者接收响应的一部分(但不是最后一部分)时触发,如果它被分成几个数据包发送。

5.

onLoaded

不保证,但一旦底层 XHR 对象设置完毕,连接打开并准备好发送其实际请求时触发。

6.

onLoading

不保证,但当底层 XHR 对象正在设置,并且其连接已打开时触发。

7.

onUninitialized

不保证,但在刚创建 XHR 对象时调用。

prototype_ajax_tutorial.htm
广告