我有一堆ajax请求:
$("someTable tr").each(function() {
// send the data.
var scriptURL = "/module/action/data/" + $(this).find(".data").html() + "/";
document.cyonVars.xhrPool[count] = $.ajax({
type: "GET",
url: scriptURL,
queue: "autocomplete",
cancelExisting: true,
dataType: 'json',
success: function(data){
// do something
}
}
});
count++;
})
当这些请求正在运行时,用户可以按一个按钮。这会触发另一个ajax请求。这样的事情:
var scriptURL = "/module/anotheraction/" +
data) + "/";
$.ajax({
type: "GET",
url: scriptURL,
queue: "autocomplete",
cancelExisting: true,
dataType: 'json',
success: function(data){
// Do another thing
}
});
来自第一个响应asynchrone的动作的请求。当用户触发第二个请求时,等待其他请求完成。但第二个请求应该提前进行。我已经使用session_write_close()没有改变任何东西。谢谢你的帮助。
答案 0 :(得分:1)
我不太确定,它应该进一步加工。浏览器对同一服务器的连接有限制,如果请求回复您的应用程序需要很长时间,可能会停止几个或多个请求。只是想想,异步请求是异步拍摄的(ajax请求继续执行后的代码),但请求是按顺序执行的。
答案 1 :(得分:0)
问题是Zend_Session :: Start();
在进行异步请求时我不得不避免使用Zend_Session