2009-11-03 88 views
0

我希望在期間向客戶端發送響應(想象一個文件上傳或其他),並對客戶端的響應做出響應。在一個Ajax請求上發送多個響應,並在客戶端做出反應

  1. 發送Ajax請求
  2. 做大量的服務器端工作,在服務器端IST還在做大量的工作,發送有關信息到客戶方
  3. 做客戶方類似通知用戶有關進度...

我希望這可以理解嗎?

現在該怎麼做?直到現在,我只能在ajax請求完成時作出反應。

回答

1

您可以嘗試使用多個ajax請求,並使用您正在使用的框架提供的任何回調工具按順序調用它們。例如(jQuery的):

function getData(){ 
    $.load(someUrl,onDataReceived) 
} 
function getMoreData(){ 
    $.load(someOtherUrl,onMoreDataReceived); 
} 
function onDataReceived(){ 
    // update your UI in a meaningful way so that the user knows things are happening 
    getMoreData(); 
} 
function onMoreDataReceived(){ 
    // update your UI again 
    alert('Got Everything'); 
} 
$(function(){ getData(); }); // start the process on page load 

我相信這是可能監聽「事件進展」,但我認爲這些都是限於之類的文件上傳等

無論如何,祝你好運!

+0

您可能希望將getMoreData置於settimeout塊中,否則將頻繁輪詢。 – 2009-11-03 15:25:48

相關問題