我有一个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