也許我錯誤地使用了JQuery ajaxStop事件,但它不會在Google Chrome中觸發我。這裏是我的代碼:Google Chrome和JQuery有問題ajaxStop
if($("#calculateButton").length > 0) {
console.log("Setting calc button event");
$("#calculateButton").ajaxStop(function() {
console.log("calculate on ajax stop");
$(this).unbind('ajaxStop');
$(this).click();
});
console.log("Sending test AJAX request");
$.ajax({
type: "POST",
url: "Backend/getcustomerrate.php",
success: function() {
console.log("AJAX request finished");
}
});
//this is what I had before testing
//Loading.loadOldQuote(qn, Loading.FOOTER);
} else {
console.log("Could not find calculate button");
setProgress("FATAL ERROR: Could not find calculate button");
}
以下是我的控制檯輸出:
設置,計算的按鈕事件
發送測試AJAX請求
AJAX請求完成
我很困惑。不應該引發.ajaxStop事件嗎?
編輯:相同的代碼觸發Firefox中的相關事件,這是我主要用於測試。
編輯2:可能有其他的AJAX請求同時運行,但這些AJAX請求做最終完成。我打開控制檯一段時間後打開頁面,並且期望的消息('根據AJAX停止計算')沒有出現。
編輯3:謝謝大家。事實證明,Chrome在發現錯誤時會暫停腳本執行,並且如果發生錯誤,則不會向控制檯輸出任何內容。錯誤不會在Firefox中觸發。
不,因爲我有大量的可變數量的AJAX請求。當這個簡單的函數做到這一點時,創建一個精心設計的框架是沒有意義的。直接在Google Chrome中試用,看看會發生什麼。 – BlackSheep