在Ajax中,异步是什么意思?

41

Ajax中的“异步”是什么意思?还有,Ajax如何在没有服务器轮询的情况下知道何时拉取数据?

4个回答

54

异步意味着脚本将向服务器发送请求,并在等待回复期间继续执行。一旦收到回复,浏览器事件被触发,从而允许脚本执行相关操作。

Ajax知道何时从服务器拉取数据,因为您会告诉它何时去做。


1
Ajax知道何时从服务器获取数据,因为您告诉它何时执行此操作。我该如何做到这一点? - JCX
6
作为脚本的创建者,您可以在满足特定条件时(例如:'当DOM就绪时'、'当用户按下该按钮时'、'当文本框中的值更改时'、'每5秒'等)让脚本向服务器发送请求。 - Mchl
3
在互联网上?搜索“AJAX教程”http://www.w3schools.com/ajax/ajax_intro.asp - Mchl

6

在任何其他的情况下,它的意思都差不多。当你发起一个ajax调用时,它并不会阻塞直到返回结果。


3
浏览器无法访问线程模型,因此我们只有一个线程来处理用户界面。因此,应用程序中的所有修改都在同一个线程中。
幸运的是,浏览器提供了几个异步API,如XHR(XMLHttpRequest)(也称为AJAX)。当您为某个对象注册事件处理程序时,该对象的操作将在另一个线程中执行,并且浏览器将在主线程中触发事件。
因此,异步意味着浏览器不会等待主线程空闲才执行操作。

0

异步(在Ajax中)以恒定的事件堆栈处理传入请求,并发送小型请求,而无需等待响应。换句话说,异步ajax调用允许执行下一行代码,而同步调用会停止JavaScript执行,直到从服务器收到响应。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接