我有一個ajax請求,需要超過1分鐘才能得到響應。用戶輸入的數據將在該請求中提交。如何識別ajax已提交請求但等待響應?
所以我要爲這樣的客戶端顯示兩條成功消息。
1)ajax將數據發送到服務器後未收到即時響應,「數據成功提交」。如果它立即收到回覆,那肯定會出錯。 2)現在,用戶可以在同一頁面上等待,看看第二個成功消息「文件生成成功」,在服務器完成長時間處理後,或者他可以導航到其他頁面,甚至可以註銷。但它不會影響在服務器上運行的進程,因爲它將是異步進程在單獨的線程中運行。
但我不知道如何識別ajax已發送數據到服務器,但等待接收響應?我可以簡單地通過
function sendData(){
$.ajax({
url: ...,
type: ...,
data: ...,
success: function(data){
$("#success-message").html("File genration sucessfull");
}
});
$("#success-message").html("Data successfully submitted");
}
顯示成功消息,但「數據成功提交」將顯示,即使客戶端是從互聯網上斷開。這就是爲什麼我需要在ajax請求處於掛起狀態以接收響應時顯示「數據成功提交」消息。
我認爲你需要similer http://stackoverflow.com/questions/755885/how-do-i-make-jquery-wait-for- an-ajax-call-to-finish-before-it-returns –
@ManishShukla,不..與我的問題無關。 –
使用'beforeSend'作爲'success'。在Ajax開始工作之前,您可以爲用戶顯示一個彈出窗口。這意味着,現在發送將開始。並且使用'錯誤'情況來捕獲錯誤。 – vaso123