此 AJAX 方法启动并处理 AJAX 请求。这个对象是一个通用的 AJAX 请求器:它处理请求的生命周期,处理样板,并允许您插入回调函数以满足您的自定义需求。
在可选选项散列中,您可以根据您的自定义需求使用任何回调函数,如 onComplete 和/或 onSuccess。
语法
new Ajax.Request(url[, options]);
一旦对象被创建,它就会发起请求,然后在其整个生命周期中继续处理它。定义的生命周期如下:
- 已创建
- 已初始化
- 请求已发送
- 收到响应(可能发生很多次,因为数据包进来)
- 收到回复,请求完成
在Ajax Options 中定义了一组回调函数,它们按以下顺序触发 –
- onCreate(这实际上是为AJAX 全局响应者保留的回调))
- onUninitialized(映射到已创建)
- onLoading(初始化时的映射)
- onLoaded(发送请求后的地图)
- onInteractive(收到响应的地图)
- on XYZ(数字响应状态代码)、onSuccess 或 onFailure(见下文)
- 完成时
可移植性
根据浏览器实现XMLHttpRequest的方式,一个或多个回调可能永远不会被调用。特别是,到目前为止,onLoaded和onInteractive并不是 100% 安全的选择。然而,全局onCreate、onUninitialized和最后两个步骤是非常有保证的。
返回值
新的 Ajax.Request
禁用和启用 PeriodicalUpdater
您可以通过简单地调用其停止方法来停止正在运行的 PeriodicalUpdater。如果你想稍后重新启用它,只需调用它的 start 方法。两者都没有争论。
例子
<html>
<head>
<title>Prototype examples</title>
<script type = "text/javascript" src = "https://cdn.bootcdn.net/ajax/libs/prototype/1.7.3/prototype.min.js"></script>
<script>
function SubmitRequest() {
new Ajax.Request('/cgi-bin/ajax.cgi', {
method: 'get',
onSuccess: successFunc,
onFailure: failureFunc
});
}
function successFunc(response) {
if (200 == response.status) {
alert("Call is success");
}
var container = $('notice');
var content = response.responseText;
container.update(content);
}
function failureFunc(response) {
alert("Call is failed" );
}
</script>
</head>
<body>
<p>Click submit button see how current notice changes.</p>
<br />
<div id = "notice">Current Notice</div>
<br />
<br />
<input type = "button" value = "Submit" onclick = "SubmitRequest();"/>
</body>
</html>
这是ajax.cgi的内容:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "This content is returned by AJAX cgi <br />";
print "Current Time " . localtime;
参数和 HTTP 方法
您可以将请求的参数作为选项中的参数属性传递:
new Ajax.Request('/some_url', {
method: 'get',
parameters: {company: 'example', limit: 12}
});
作者:terry,如若转载,请注明出处:https://www.web176.com/prototype_api/8302.html