使用jquery同时发出多个ajax调用问题

时间:2014-01-17 11:48:56

标签: javascript jquery ajax

我正在使用jquery进行ajax调用

所有调用都是在页面加载时立即调用的,我们几乎在同一时间收到响应。

问题是,3个调用被触发并且我正在获取数据,但是仅在第一次调用时触发了回调函数。

其他两个回调未被调用,回调被定义为一个单独的函数,

如果我只是编写警报而不是调用回调方法,那么所有3条警报消息都将到来

所以问题是当我们编写回调方法时,有没有人知道这种奇怪的行为?

我们尝试重新排序调用,行为类似,首先调用它,它的回调将被调用,其余的,它不会被调用

var url = "/test1";
    ajaxCall(url, testMethod1, false);   



var url = "test2";
        ajaxCall(url, testMethod2, false); 

var url = "test3";
            ajaxCall(url, testMethod3, false); 

testMethod1:function(data){
    console.log("first"+data);
},
testMethod2:function(data){
    console.log("second"+data);
},
testMethod3:function(data){
    console.log("thrid"+data);
}

ajaxCall定义为jquery ajax,问题是只调用testMethod1,其余2个不调用

此致 哈

1 个答案:

答案 0 :(得分:0)

立刻引起我注意的是test1的URL在test1之前有一个正斜杠。这意味着您仅在test1中使用有效链接。警报将触发,因为您可能没有尝试访问返回的数据(即使ajax请求失败仍然可以工作),当您尝试访问您提供的编码回调函数中的数据时,这显然会抛出NullPointerException或由于URL不正确而导致ajax调用失败的等价物。因此,数据永远不会被设置,代码也不起作用。