在一个ajax请求上发送多个响应并在客户端做出反应

时间:2009-11-03 15:07:49

标签: ajax

我想在 ajax请求期间向客户发送回复(想象一下文件上传或其他内容),并在客户端对该回复做出反应。

  1. 发送ajax请求
  2. 在服务器端做很多工作,并将相关信息发送到客户端
  3. 在服务器端期间仍然做很多工作在客户端做一些事情,比如告知用户进度......
  4. 我希望这是可以理解的?

    现在怎么办?直到现在我只能在ajax请求完成时作出反应。

1 个答案:

答案 0 :(得分: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

我认为可以倾听“进展事件”,但我认为这些仅限于文件上传等内容。

无论如何,祝你好运!