这次给大家带来jQuery怎么做出监控页面ajax请求,jQuery做出监控页面ajax请求的注意事项有哪些,下面就是实战案例,一起来看一下。
你是不是有遇到这样的问题:页面发起两个ajax请求,希望它们都成功以后,再做一个动作?
很容易想到的解决方案是,等其中一个结束以后,再发起另外一个,这个过程用回调函数来完成。
但是,如果其中一个ajax请求的代码不是你写,你改不了,怎么办?
又或者说,你只想知道某个url请求什么时候结束,不想管其他的请求,怎么弄?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "utf-8" />
</head>
<body>
<p id= "test" ></p>
</body>
<script src= "js/jquery-1.11.0.min.js" ></script>
<!--首先在页面引入jquery的后面,紧接着以下代码:-->
<script>
var ajaxBack = $.ajax;
var ajaxCount = 0;
var allAjaxDone = function (){$( '#test' ).append( 'all done!<br>' );}
$.ajax = function (setting){
ajaxCount++;
var cb = setting.complete;
setting.complete = function (){
if ($.isFunction(cb)){cb.apply(setting.context, arguments);}
ajaxCount--;
if (ajaxCount==0 && $.isFunction(allAjaxDone)){
allAjaxDone();
}
}
ajaxBack(setting);
}
</script>
<!--以下是别人的script-->
<script>
$.ajax({url: 'js/jquery-1.11.0.min.js' , success: function (recv){$( '#test' ).append( '别人的ajax请求1,done<br>' )}});
</script>
<script>
$.get( 'css/main.css' , null, function (recv){$( '#test' ).append( '别人的get请求,done<br>' )});
</script>
<script>
$.post( 'css/main.css' , null, function (recv){$( '#test' ).append( '别人的post请求,done<br>' )});
</script>
</html>
|
Salin selepas log masuk
其他的相关函数:
$.ajax 中:
error:当出错时调用,可以用来上报错误的请求。
complete:无论成功还是失败都会调用
高版本中:
$.promise
$.when
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
ajax+html轻松实现文件上传有哪些步骤
Atas ialah kandungan terperinci jQuery怎么做出监控页面ajax请求. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!