嗨我想问一下AJAX,AJAX对服务器进行同步或异步调用。从它的名字来看它是ASYNCHRONOUS JS& XML,但是当涉及向服务器发送请求时,它是同步还是异步?帮助将被赞赏
答案 0 :(得分:3)
这是一个松散定义的流行语。 JS可以同时做到。同步调用是锁定的,但几乎总是应该避免。
答案 1 :(得分:2)
我认为如果您在此上下文中定义了同步和异步的含义,它会对您有所帮助。
同步调用阻止执行执行它的Javascript线程。这意味着如果您有以下代码:
console.log('Before');
xhr.send();
console.log('After');
在请求完成且服务器返回数据之前,您不会看到After
消息。
异步调用不会阻止执行执行它的Javascript线程。这意味着,对于上面的相同代码块,After
消息会立即触发,并且不会等待请求完成。因为代码的执行在异步调用中继续,所以您需要使用回调来处理结果。这就是onreadystatechange()
事件/方法的用途。
当您调用open()
对象的XmlHttpRequest
方法时,可以选择进行哪种类型的调用,同步或异步。通过将true
传递给第三个参数,请求是异步的,如果传递false
它是同步的。
答案 2 :(得分:1)
它实际上可以是同步和异步。
答案 3 :(得分:1)
答案 4 :(得分:1)
请求是异步的,因为浏览器不能等待请求的响应。这意味着一方面您可以进行同步,例如您发送请求并显示等待屏幕,但另一方面,您可以将您的请求发送到服务器,服务器随时响应。您的浏览器可以处理响应,但用户可以在不受页面影响的情况下工作。