以下是代码:
$.ajax({
url: "script.php",
success : oneHandler
});
$.ajax({
url: "script.php",
success : twoHandler
});
当同时调用这两个函数调用时,是否确保在第一次调用的响应中真正调用了“oneHandler”? 换句话说,是否附加了匹配的字符串?
如果我添加数据怎么办?
dataType: 'json',
data: {"json": "one"} ,
dataType: 'json',
data: {"json": "two"} ,
分别?
如果我使用post
方法怎么办?
答案 0 :(得分:2)
当然,JavaScript是浏览器中的单线程模型,没有真正并发的东西;只有非常接近。
在内部,为您通过$.ajax
和朋友发出的每个请求创建一个对象;这个对象是与服务器通信并接收响应的对象。您的成功回调附加到该对象。
因为每个请求都是一个单独的对象,所以可以保证执行正确的回调。请注意,多个请求可以同时共存,它们不会等待彼此完成;如果您愿意,可以使用Deferred.pipe
。
答案 1 :(得分:1)
同时调用这两个函数调用时,确保" oneHandler"第一次通话的响应真的被调用了吗?
是
如果我使用post方法怎么办?
没关系。它保证可以调用正确的回调