myRequest.open("GET", url, true)中参数true的含义是什么?
关于
XMLHttpRequest.open()中第三个参数true的含义 嘿,这个参数的作用可太关键了!咱们直白点说:true代表开启异步请求模式,这也是XMLHttpRequest默认的工作方式。
具体来说:
- 当你把这个参数设为
true时,浏览器发送完请求后不会“原地死等”服务器的响应,页面该干嘛干嘛——用户可以正常滚动页面、点击按钮,完全不会被卡住。等服务器返回数据或者请求状态发生变化时,你代码里绑定的onreadystatechange回调函数(也就是onResponse)就会自动触发,来处理返回的内容。 - 如果把它改成
false,那就是同步模式了。这时候浏览器会暂停当前页面的所有操作,直到服务器给出结果或者请求超时,这种方式会严重拖慢用户体验,现在已经不推荐在页面主线程里使用同步XMLHttpRequest了。
你给出的代码里正好提前绑定了onreadystatechange回调,这完全是为异步请求量身定做的逻辑——毕竟异步请求不会立刻拿到结果,得靠监听状态变化来处理响应呀。
内容的提问来源于stack exchange,提问作者Paul Cloud
相关产品推荐
相关产品推荐

