jqueryajax中各个事件执⾏顺序jquery ajax 中各个事件执⾏顺序如下:
1.ajaxStart(全局事件)
2.beforeSend
3.ajaxSend(全局事件)
4.success
5.ajaxSuccess(全局事件)
<
7.ajaxError (全局事件)
8plete
9.ajaxComplete(全局事件)
10.ajaxStop(全局事件)
下⾯看个例⼦:
$("#ACCOUNT_TYPE").bind('click', function() {
//alert( $(this).val());
var msg="";
if($(this).val()=="B134002")//托管
{
//msg="托管";
msg="ACCOUNT_TYPE_COM_T";
}
else if($(this).val()=="B134001")//存管
{
/
/msg="存管";
msg="ACCOUNT_TYPE_COM_C";
}
else if($(this).val()=="-")//存管和托管all
{
//msg="存管和托管";
msg="ACCOUNT_TYPE_COM_ALL";
}
else
{
alert("参数错误!");
return;
}
$("#ACCOUNT_TYPE_COMDiv_son").children().remove();//先清除所有⼦元素
$.ajax({
type:"post",
url:"${ctx}/Rule/Combination/getdict",
data:{type:msg},
dataType:"json",
success:function(json)
{
//$(object).children(selector).remove();  // 删除object元素下满⾜selector选择器的⼦元素,不填写则默认删除所有⼦元素                  for(var i=0;i<json.length;i++)
{
var ateElement("input");
//checkBox.setAttribute("type","checkbox");
checkBox.setAttribute("type","radio");
checkBox.setAttribute("id", json[i].value);
checkBox.setAttribute("value", json[i].value);
checkBox.setAttribute("name", "ACCOUNT_TYPE_COM");
checkBox.setAttribute("checked", true);
//checkBox.setAttribute("readonly", true);//
var ateElement("span");
li.style.display = "block";
li.style.width = 23+"%";
li.style.float = "left";
li.appendChild(checkBox);
li.ateTextNode(json[i].label));
$("#ACCOUNT_TYPE_COMDiv_son").append(li);
}
}
,
beforeSend:function(mes)
{
alert("beforeSend");
},
complete:function()
{
alert("complete");
}
});
});
运⾏这段代码,会先弹出 beforeSend  提⽰,然后加载success ⽅法⾥⾯的代码,最后弹出 complete  提⽰,这说明这段代码的⼏个⽅法的执⾏先后顺序是符合上⾯总结的顺序的!
全局事件的例⼦:
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("div").ajaxStart(function(){
$(this).html("<img src='/i/demo_wait.gif' />");
alert("1.最先的全局⽅法");
});
$("button").click(function(){
$("div").load("/example/jquery/demo_ajax_load.asp");
});
$("div").ajaxSend(function()
{
alert("2.发送前");
});
$("div").ajaxSuccess(function()
{
alert("3.成功后");
});
$("div").ajaxComplete(function()
{
alert("4.ajaxComplete");
});
$("div").ajaxStop(function()
{
alert("5.ajaxStop");
});
});
</script>
</head>
<body>
<div id="txt"><h2>通过 AJAX 改变⽂本</h2></div>
<button>改变内容</button>
</body>
</html>
每次点击 "改变内容" 的这个按钮,都会先加载⼀次demo_wait.gif 这个图⽚,然后执⾏ ajaxSend,然后执⾏ ajaxSuccess,然后执⾏ajaxComplete,然后执⾏ ajaxStop ,这个执⾏顺序也是符合上⾯总结的顺序的!
____________________________________________________________________________________
⼀、.ajaxStart()——ajax请求开始时触发
描述:ajax请求开始时触发 .ajaxStart()的回调函数,全局的,所有的ajax都可以⽤
写法:元素.ajaxStart(function({ajax请求开始时触发的代码})
$("#loading").ajaxStart(function () {
$(this).show();  //ajax请求开始时#loading元素显⽰
});
作⽤域:全局
某个ajax不受全局⽅法的影响:
ajax实例里面的函数⽅法:将$.ajax({})的global设为false
$.ajax({
url: "test.html",
global:false
});
⼆、.ajaxStop()——ajax请求结束时触发
描述:ajax请求结束时触发 .ajaxStop()的回调函数,全局的,所有的ajax都可以⽤
写法:元素.ajaxStop(function({ajax请求结束时触发的代码})
$("#loading").ajaxStop(function () {
$(this).hide();  //ajax请求结束时#loading元素隐藏
});
作⽤域:全局
某个ajax不受全局⽅法的影响:
⽅法:将$.ajax({})的global设为false
$.ajax({
url: "test.html",
global:false
});
_______________________________________________________________________

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。