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