5.4.9 The Ajax.Request class

优质
小牛编辑
134浏览
2023-12-01

继承自Ajax.Base

封装AJAX 操作

PropertyTypeKindDescription
EventsArraystatic在AJAX操作中所有可能报告的事件/状态的列表。这个列表包括: 'Uninitialized', 'Loading', 'Loaded', 'Interactive', 和'Complete'。
transportXMLHttpRequestinstance承载AJAX操作的XMLHttpRequest 对象。
urlstringinstance请求的URL。
MethodKindArgumentsDescription
[ctor](url, options)constructorurl: the url to be fetched, options: AJAX options创建这个对象的一个实例,它将在给定的选项下请求url。onCreate事件在调用constructor事被激发。重要:如果选择的url受到浏览器的安全设置,他会一点作用也不起。很多情况下,浏览器不会请求与当前页面不同主机(域名)的url。你最好只使用本地url来避免限制用户配置他们的浏览器(谢谢Clay)
evalJSON()instance(none)这个方法显然不会被外部调用。它在Ajax响应中含有X-JSON HTTP头时用于内部调用执行这些内容。
evalReponse()instance(none)这也方法显然不会被外部调用,如果Ajax响应含有一个值为text/javascript的Cotent-Type头,那么这个方法就用被调用执行响应体。
header(name)instancename: HTTP header name引用Ajax响应的头的内容,在Ajax访问结束后再调用这个方法。
onStateChange()instance(none)这个方法通常不会被外部调用。当AJAX请求状态改变的时候被这个对象自己调用。
request(url)instanceurl: url for the AJAX call这个方法通常不会被外部调用。已经在构造方法中调用了。
respondToReadyState(readyState)instancereadyState: state number (1 to 4)这个方法通常不会被外部调用。当AJAX请求状态改变的时候被这个对象自己调用。
setRequestHeaders()instance(none)这个方法通常不会被外部调用。被这个对象自己调用来配置在HTTP请求要发送的HTTP报头。

The options argument object

An important part of the AJAX operations is the options argument. There's no options class per se. Any object can be passed, as long as it has the expected properties. It is common to create anonymous objects just for the AJAX calls.

PropertyTypeDefaultDescription
methodString'post'HTTP 请求方式。
parametersString''在HTTP请求中传入的url格式的值列表。
asynchronousBooleantrue指定是否做异步AJAX 请求。
postBodyStringundefined在HTTP POST的情况下,传入请求体中的内容。
requestHeadersArrayundefined和请求一起被传入的HTTP头部列表,这个列表必须含有偶数个项目,任何奇数项目是自定义的头部的名称,接下来的偶数项目使这个头部项目的字符串值。例子:['my-header1', 'this is the value', 'my-other-header', 'another value']
onXXXXXXXXFunction(XMLHttpRequest, Object)undefined在AJAX请求中,当相应的事件/状态形成的时候调用的自定义方法。例如var myOpts = {onComplete: showResponse, onLoaded: registerLoaded};. 这个方法将被传入一个参数,这个参数是承载AJAX操作的XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onSuccessFunction(XMLHttpRequest, Object)undefined当AJAX请求成功完成的时候调用的自定义方法。这个方法将被传入一个参数,这个参数是承载AJAX操作的XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onFailureFunction(XMLHttpRequest, Object)undefined当AJAX请求完成但出现错误的时候调用的自定义方法。这个方法将被传入一个参数,这个参数是承载AJAX操作的XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onExceptionFunction(Ajax.Request, exception)undefined当一个在客户端执行的Ajax发生像无效响应或无效参数这样的异常情况时被调用的自定义函数。它收到两个参数,包含异常Ajax操作的Ajax.Request对象和异常对象。
insertionan Insertion classundefined一个能决定怎么样插入新内容的类,能Insertion.Before, Insertion.Top, Insertion.Bottom, 或Insertion.After. 只能应用于Ajax.Updater对象.
evalScriptsBooleanundefined, false决定当响应到达的时候是否执行其中的脚本块,只在Ajax.Updater对象中应用。
decayNumberundefined, 1决定当最后一次响应和前一次响应相同时在Ajax.PeriodicalUpdater对象中的减漫访问的次数,例如,如果设为2,后来的刷新和之前的结果一样,这个对象将等待2个设定的时间间隔进行下一次刷新,如果又一次一样,那么将等待4次,等等。不设定这个只,或者设置为1,将避免访问频率变慢。
frequencyNumberundefined, 2用秒表示的刷新间的间隔,只能应用于Ajax.PeriodicalUpdater 对象。