方法Open of XMLHttpRequest

时间:2010-05-26 21:00:16

标签: xml ajax xmlhttprequest

AJAX方法open(method,url,async)中Sync和Async的区别是什么。

5 个答案:

答案 0 :(得分:4)

如果你传递true async参数,调用将立即返回,下一行javascript将执行(在HTTP请求返回之前)。

如果传递false,它将阻塞,直到HTTP调用返回。

答案 1 :(得分:4)

区别在于Sync不存在。忽略它。五年前我写了一个完整的同步小部件库,当我重写它时,我成了一个更好的程序员:-) 我在这句话中提到jQuery,但我的偏好是YUI。 无论你做什么,都要观看视频 Yahoo Theater:基本和高级Javascript,Dom的麻烦,一切。他们摇滚。

答案 2 :(得分:1)

同步是同步的,a.k.a。阻止;异步是异步的,a.k.a。非阻塞。

答案 3 :(得分:1)

  • 使用open()致电async=false时,请求会在致电send()之前发出请求。
  • 使用open()致电async=true时,会立即致电send()

将async设置为false会产生更可预测的结果,因为在请求期间不会运行其他javascript代码,但在请求完成之前,它会使页面无响应的重大缺点。

答案 4 :(得分:0)

同步意味着您的javascript将被阻止,直到您收到服务器的回复

async意味着对服务器的调用将在并行线程中发生,并且您的js将继续执行。

你永远不应该使用同步 - 人类的坏用户界面

补充:你很可能不应该直接使用XMLHttpRequest - 浏览器之间存在细微差别。使用像JQuery,yui,mootools等库这样的文件好多了