Possible Duplicate:
Parallel asynchronous Ajax requests using jQuery
我需要一个接一个地创建 2 个 ajax 请求。然后显示第一个完成的结果。问题是第二个总是等待第一个完成。我试图中止第一个,但第二个仍然等待第一个完成。有什么解决办法吗?
基本上第一个调用 php 脚本来解析一些 XML 文件并将记录插入 MySQL 表中。第二个调用 PHP 脚本,需要返回第一个导入的 20 条记录。
我尝试了两个 ajax 调用,第一个调用是从 iframe 调用的。但结果总是一样的。第二个正在等待第一个完成。我找到的唯一方法是创建子域并使用子域调用第一个子域。但这在 IE 中不起作用。
谁能解释一下如何解决这个问题吗?
也许我需要更多地描述我的问题。首先,我调用 ajax,执行时间为 cca 2 分钟,当第一个请求正在执行时,我需要有多个请求来检索第一个请求导入的记录。
最佳答案
您可以尝试使用 AJAX callback 来实现。您基本上可以输入嵌套回调并完成工作。当您获取解析的 XML 时,将调用第一个回调,第二个回调将由第一个回调调用。
更新代码示例:
var callback2 = function(data)
{
// Callbacks complete
// Now do some more stuff
}
var callback1 = function(data)
{
//do something;
$.ajax({
url: '/echo/html/',
success: function(data) {
callback2(data);
}
});
}
$.ajax({
url: '/echo/html/',
success: function(data) {
callback1(data);
}
});
在上面的示例中,当第二个 Ajax 调用完成时,将调用回调2。
关于php - 来自浏览器的两个并行请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026388/