在我正在開發的Web應用程序中,有很長時間運行ajax查詢的潛力。
我使用jQuery的$就方法做這樣的事情:
this._xhr = jQuery.ajax({
type: "GET",
url: "/path/to/service",
data: "name=value",
success: function(data, message){
// handle a success
},
dataType: "json"
});
是否有修改後this._xhr.readyState = 2(加載)和之前的成功回調的方式this._xhr .readyState = 4(已完成)
我嘗試修改this._xhr.onreadystatechange,但發現jQuery沒有定義onreadystatechange。
你能解釋你爲什麼要這樣做嗎?也許有一種解決方案不涉及在請求中間使用'success'功能 – 2009-09-10 19:00:08
成功方法會執行一些昂貴的處理,但是用戶可以在長時間運行的ajax請求期間在UI中執行其他操作取消請求。如果發生這些操作,我將更改運行查詢的成功方法,以便在最終完成時顯示簡單消息,而不是執行不再需要的所有處理。我可以使用abort()方法,這可能是正確的方法,但我很好奇是否可以修改成功函數 – andrewwatts 2009-09-10 19:28:48