jQuery.ajax()的“成功”回调可以区分对同一个脚本的两次调用吗?

时间:2012-11-21 03:08:38

标签: php jquery http

以下是代码:

$.ajax({
        url: "script.php",
            success : oneHandler
        });

$.ajax({
        url: "script.php",
            success : twoHandler
        });

当同时调用这两个函数调用时,是否确保在第一次调用的响应中真正调用了“oneHandler”? 换句话说,是否附加了匹配的字符串?

如果我添加数据怎么办?

dataType: 'json',
data: {"json": "one"} ,

dataType: 'json',
data: {"json": "two"} ,

分别?

如果我使用post方法怎么办?

2 个答案:

答案 0 :(得分:2)

当然,JavaScript是浏览器中的单线程模型,没有真正并发的东西;只有非常接近。

在内部,为您通过$.ajax和朋友发出的每个请求创建一个对象;这个对象是与服务器通信并接收响应的对象。您的成功回调附加到该对象。

因为每个请求都是一个单独的对象,所以可以保证执行正确的回调。请注意,多个请求可以同时共存,它们不会等待彼此完成;如果您愿意,可以使用Deferred.pipe

答案 1 :(得分:1)

  

同时调用这两个函数调用时,确保" oneHandler"第一次通话的响应真的被调用了吗?

  

如果我使用post方法怎么办?

没关系。它保证可以调用正确的回调