Php 来自浏览器的两个并行请求

Php 来自浏览器的两个并行请求,php,jquery,mysql,ajax,iframe,Php,Jquery,Mysql,Ajax,Iframe,可能重复: 我需要一个接一个地创建2个ajax请求。然后显示第一个完成的结果。问题是第二个总是等待第一个完成。我试图中止第一个,但第二个仍在等待第一个完成。有什么解决办法吗 基本上,第一个调用php脚本,该脚本解析一些XML文件并将记录插入MySQL表。第二个调用PHP脚本,该脚本需要返回第一个导入的20条记录 我尝试了两个ajax调用,第一个调用来自iframe。但结果总是一样的。第二个正在等待第一个完成。我找到的唯一解决方法是创建子域,并使用子域调用第一个子域。但这在IE中不起作用 有人能

可能重复:

我需要一个接一个地创建2个ajax请求。然后显示第一个完成的结果。问题是第二个总是等待第一个完成。我试图中止第一个,但第二个仍在等待第一个完成。有什么解决办法吗

基本上,第一个调用php脚本,该脚本解析一些XML文件并将记录插入MySQL表。第二个调用PHP脚本,该脚本需要返回第一个导入的20条记录

我尝试了两个ajax调用,第一个调用来自iframe。但结果总是一样的。第二个正在等待第一个完成。我找到的唯一解决方法是创建子域,并使用子域调用第一个子域。但这在IE中不起作用

有人能解释一下怎么解决这个问题吗


也许我需要更详细地描述我的问题。首先,我调用ajax,执行时间为2分钟,当第一个正在执行时,我需要有多个请求来检索第一个导入的记录

您可以尝试使用。基本上,您可以输入一个嵌套回调并完成任务。当您获得解析的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调用完成时调用callback2。

按顺序调用它们。在调用第一个之后,它将以异步方式执行。然后你叫第二个。此时第一个请求仍将运行。但它不能保证第二个请求会在第一个请求之后发送。所以你可以暂停一下。参见下面的示例

$.post('ajax/first_call', function(data) {
    // process returned data of first ajax call
});
window.setTimeout(function(){
    $.post('ajax/second_call', function(data) {
        // process returned data of second ajax call
    });
}, 2000);

这里,第二个ajax调用是在2秒后请求的。它不依赖于第一次调用。

您正在寻找术语“异步ajax调用”。@arkascha asynchronous是ajax的
A
。是的,我使用的是async:var xhr=$.ajax({type:'POST',url:aUrl,async:true,cache:false,data:pData,success:function(jData,status,xhr){……但那没有help@jere_hr在成功函数中创建另一个ajax调用。请参见我的答案中的示例。您能给我一个代码示例,在第一个调用完成之前如何获取第二个调用的响应吗?我使用了$.ajax,但如果我能以某种方式管理它,那就太好了。感谢您的快速响应。哦,等待您可以调用的并行请求按顺序调用Ajax请求,然后调用成功回调。如果我理解正确,首先完成的调用将调用回调。第一个调用完成后将调用回调1。然后将触发回调2。也许我需要更多地描述我的问题。首先我调用Ajax,执行时间为cca 2分钟,而第一个调用一个正在执行我需要有多个请求来检索第一个导入的记录。callback1将接收一些数据,对吗?第二个ajax调用可以异步处理这些数据。我尝试使用$([1,2])。每个(函数(){…ajax调用…但这没用。看起来我不能同时有两个单独的请求?!但我不想等到第一个请求完成后再得到第二个请求的响应。我需要在第一个请求完成之前得到第二个请求的响应。你说的
基本上第一个调用php脚本,该脚本解析一些XML文件并将记录插入到MyS中QL表。第二个调用PHP脚本,该脚本需要返回第一个导入的20条记录。
在这里,第一个脚本应该在调用第二个之前结束。否则,第二个调用如何获取第一个导入的20条记录?也许我需要更详细地描述我的问题。首先,我调用ajax,执行时间为cca 2分钟nd当第一个正在执行时,我需要有多个请求来检索第一个导入的记录。然后一个接一个地发送请求。当请求第二个时,第一个将正在执行。@jere_hr看到更新我尝试了,但在第一个未完成之前,我无法从第二个得到响应。这正是我的问题E