AJAX调用是否没有阻塞,它们的生命周期是什么?

时间:2011-02-01 19:40:14

标签: ajax jquery

我觉得这些基本问题很尴尬,因为我对网络开发并不陌生。但我想仔细检查我的假设......

我正在我的应用程序中构建独特图像视图的录制。当用户(不是机器人)访问图像页面时,会对后端进程进行Ajax调用,该进程收集会话信息,比较重复并存储访问。我在HTML的底部,</body>元素之前有我的所有javascript引用以及此调用:

$.get(basepath + "image/1329/record/human", function(data){
console.log("Data Loaded: " + data);
});

默认情况下,对$ .get的调用是异步的。但我想测试以下假设:

  • 此方法是否确保对视图录制脚本的调用对于其余UI的非阻塞是否正确?
  • 无论用户是否导航到另一个页面,后端脚本在调用后都会完成是否正确?

3 个答案:

答案 0 :(得分:5)

根据jQuery .get reference ...

这个 [$ .get()] 是一个简写的Ajax函数,相当于

$.ajax({ url: url,   data: data,  
         success: success,   dataType: dataType
});

默认情况下$ .ajax是异步的(即非阻塞),这就是Ajax中A的含义。

此外,后端服务器代码在服务器收到请求时启动,然后独立于停留在页面上的客户端运行,除非您实现某种机制来停止正在运行的服务,我想你没有。

上帝保佑!

答案 1 :(得分:4)

您正在进行的jQuery.get请求是异步的,不会阻止DOM或其​​他JavaScript继续。 get函数是一种使用jQuery.ajax的简写方法。

第二个问题我没有一个可靠的答案 - 我希望它可能更多地取决于后端代码的结构如何以及是否告知会话/请求已经终止。

<强> API:

答案 2 :(得分:2)

这两个方面都是正确的