jq中法可以发起ajax请求的方法有,jQuery实现监控页面所有ajax请求的方法
本文實例講述了jQuery實現(xiàn)監(jiān)控頁面所有ajax請求的方法。分享給大家供大家參考,具體如下:
你是不是有遇到這樣的問題:頁面發(fā)起兩個ajax請求,希望它們都成功以后,再做一個動作?
很容易想到的解決方案是,等其中一個結(jié)束以后,再發(fā)起另外一個,這個過程用回調(diào)函數(shù)來完成。
但是,如果其中一個ajax請求的代碼不是你寫,你改不了,怎么辦?
又或者說,你只想知道某個url請求什么時候結(jié)束,不想管其他的請求,怎么弄?
//前提:所有ajax請求都是用jquery的$.ajax發(fā)起的,而非原生的XHR;
var ajaxBack = $.ajax;
var ajaxCount = 0;
var allAjaxDone = function(){$('#test').append('all done!
');} //一行代碼,就可以知道所有ajax請求什么時候結(jié)束
//由于get/post/getJSON等,最后還是調(diào)用到ajax,因此只要改ajax函數(shù)即可
$.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);
}
$.ajax({url: 'js/jquery-1.11.0.min.js', success: function(recv){$('#test').append('別人的ajax請求1,done
')}});
$.get('css/main.css', null, function(recv){$('#test').append('別人的get請求,done
')});
$.post('css/main.css', null, function(recv){$('#test').append('別人的post請求,done
')});
其他的相關(guān)函數(shù):
$.ajax 中:
error:當出錯時調(diào)用,可以用來上報錯誤的請求。
complete:無論成功還是失敗都會調(diào)用
高版本中:
$.promise
$.when
希望本文所述對大家jQuery程序設(shè)計有所幫助。
總結(jié)
以上是生活随笔為你收集整理的jq中法可以发起ajax请求的方法有,jQuery实现监控页面所有ajax请求的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机老师开场白试讲视频,教师招考试讲模
- 下一篇: ftp服务器新建虚拟目录,ftp服务器