如何在jQuery的$.ajax
方法上調用Ajax就緒狀態?
回答
$.ajax()
返回XmlHttpRequest對象,因此,如果您真的要訪問它的狀態的變化,你可以這樣做:
var xhr = $.ajax({ ... });
xhr.onreadystatechange = function() { alert(xhr.readyState); };
但內置的回調應該是你所需要的最使用,特別是success
和complete
。
要爲大多數情況下,.ajaxStart()
和.ajaxStop()
事件......請求觸發之前做的事情,使用beforeSend
,或者更恰當的例子來說明,只要任何AJAX活動是怎麼回事加載消息。
您應該能夠通過爲您傳入ajax()
方法的對象中的success
,error
和complete
選項設置回調來獲取所需的全部內容。看看文檔:
http://api.jquery.com/jQuery.ajax/
基本上,它的工作原理是這樣的:
$.ajax({
url: 'ajax/test.html',
success: function(data) {
alert('Load was performed.');
},
error: function() {alert("error occurred.")},
complete: function() {alert("ajax complete.")}
});
你可以看到文檔的什麼參數,你必須在回調函數訪問。
即時查找的就是readyState,就像當你使用普通的Js一樣,在你的標記填充之前,你使用這個readyState來寫入類似「loading ...」的東西,jQuery的成功,錯誤或者完全不似乎爲我想要的工作。還是你必須用jQuery來僞造它? – tetris 2010-11-05 16:46:49
@tada jQuery方法抽象檢查readystate更改的舊方法。爲什麼不在創建ajax調用之前顯示加載對話框,並將其隱藏在回調函數中?這就是我所做的,從邏輯上講,它比普通的JS方式更有意義。 – treeface 2010-11-05 16:50:48
好的,謝謝.__ – tetris 2010-11-05 17:01:51
方法,使用jQuery 2.0.2測試:
$.ajax({
beforeSend: function (jqXHR, settings) {
var self = this;
var xhr = settings.xhr;
settings.xhr = function() {
var output = xhr();
output.onreadystatechange = function() {
if (typeof(self.readyStateChanged) == "function") {
self.readyStateChanged(this);
}
};
return output;
};
},
readyStateChanged: function (xhr) {
if (xhr.readyState == 1) {
/* Connected! Do something */
}
},
url: "..."
});
基本上,我需要的是一個回調readyState
之後變爲1
(連接),其中,於我而言,是有益的執行長輪詢時,「推「與jQuery通知。
- 1. jquery和jScrollPane和ajax
- 2. JSON和jQuery AJAX
- 3. Jquery,Onclick和Ajax
- 4. jquery - zclip和ajax?
- 5. jQuery AJAX和ASP.NET
- 6. jQuery ajax和SSL?
- 7. CodeIgniter,jQuery和AJAX
- 8. JQuery,Datatables和Ajax
- 9. jQuery和ajax
- 10. AJAX/jQuery和MySQL?
- 11. jQuery和ASP.NET AJAX
- 12. Symfony2和jquery ajax
- 13. jQuery Ajax和CodeIgniter
- 14. Ajax和jQuery
- 15. phalcon和jquery ajax
- 16. jQuery ajax和SSL
- 17. jquery ajax和submenu
- 18. JQUERY Toggle和Ajax
- 19. Jquery Ajax和Spinner
- 20. Jquery Ajax和Iframe
- 21. jquery Ajax和json
- 22. jQuery Ajax和Wordpress
- 23. jQuery和Ajax
- 24. jQuery Ajax和XSL
- 25. Jquery treeview和Ajax
- 26. localhost和AJAX/JQuery
- 27. jQuery和AJAX
- 28. Jquery和Ajax
- 29. jQuery ajax,.each和ajax再次
- 30. 簡單的ajax和jquery ajax
確切地說是什麼? '$ .ajax'帶來了自己的'success' /'error' /'complete'回調,它們應該滿足您的所有需求 – 2010-11-05 16:31:46
嗨,我想readyState = 1和readyState = 4與jQuery的平等有什麼區別? – tetris 2010-11-05 16:35:40