Prototype - 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 编码的字符串或任何具有表示参数的属性的哈希兼容对象提供。

postBody

默认值为 None

"post"方法上请求主体的特定内容。如果未提供,则将使用参数选项的内容。

requestHeaders

请参阅下面的说明

请求标头可以通过两种形式传递 −

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

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

Prototype 自动提供一组默认标头,此选项可以覆盖和扩充 −

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

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

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

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

evalJS

默认值为 true

如果服务器返回的 content-type 是以下之一,则自动评估 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 的内容之前对其进行清理。

常见回调

S.No. 回调 &描述
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 之前发生。

响应者回调

S.No. 回调和说明
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.html