Jquery Ajax学习实例7 Ajax所有过程事件分析示例

时间:2021-05-26

一、Ajax所有过程事件分析

JQuery在执行Ajax的过程中会触发很多事件。
这些事件可以分为两种事件,一种是局部事件(Local),一种是全局事件(Global)。
局部事件:可以通过$.ajax来调用,你某一个Ajax请求不希望产生全局的事件,则可以设置global:false。
全局事件:跟click等事件类似,可以绑定到到每一个DOM元素上。
这些事件的按照事件的触发顺序如下介绍:

局部事件(Local)全局事件(Global)ajaxStart全局事件
开始新的Ajax请求,并且此时没有其他ajax请求正在进行。beforeSend局部事件
当一个Ajax请求开始时触发。如果需要,你可以在这里设置XHR对象。ajaxSend全局事件
请求开始前触发的全局事件。success局部事件
请求成功时触发。即服务器没有返回错误,返回的数据也没有错误。ajaxSuccess全局事件
全局的请求成功。error局部事件
仅当发生错误时触发。你无法同时执行success和error两个回调函数。ajaxError全局事件
全局的发生错误时触发。complete局部事件
不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件。ajaxComplete全局事件
全局的请求完成时触发。ajaxStop全局事件
当没有Ajax正在进行中的时候,触发。注:除了ajaxStart和ajaxStop之外,其他的事件都有3个参数
event, XMLHttpRequest, ajaxOptions
第一个是事件,第二个是XHR对象,第三个参数最有用,是当时调用这个ajax的时候的参数。
对于ajaxError,还有第四个参数thrownError,只有当异常发生时才会被传递。

二、Ajax所有过程事件示例

2.1、HTML代码

<div>

<input type="button" onclick="BtnSpareClick();" value="PartEvents" />
<input type="button" onclick="BtnGlobalClick();" value="GlobalEvents" />

</div>

<div id="Result">Result</div>
<div id="Process">Process</div>

2.2、Jquery Ajax脚本 局部事件(Local)实例全局事件(Global)实例

<script language="javascript" type="text/javascript">
$.ready(function BtnSpareClick() {
$.ajax({
type: "get",
url: "https://plete(function() {
$(this).text("请求完成时");
alert($(this).text());
});
$("#Process").ajaxError(function() {
$(this).text("请求错误时");
alert($(this).text());
});
});
</script>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章