Javascript 同步(阻塞)ajax调用能否阻塞浏览器';用户界面?

Javascript 同步(阻塞)ajax调用能否阻塞浏览器';用户界面?,javascript,ajax,Javascript,Ajax,这个问题是面向jQuery的,但不一定是唯一的 简短的问题: 同步ajax调用可以阻止正常按钮被点击吗?我的测试显示不会发生这种情况,但可能其他浏览器会出现问题 长问题: 在我问的另一个问题中,这些人说浏览器在某些情况下会阻塞 实际上,甚至jQuery的用户也会说: 请注意,同步请求可能会暂时锁定浏览器,从而在请求处于活动状态时禁用任何操作。 我正在努力: 1。了解这将如何/为什么发生。 2。评估发生这种情况的可能性。 根据我的理解,这可能是错误的: 我想,如果我作为开发人员,在ajax调用之前

这个问题是面向jQuery的,但不一定是唯一的

简短的问题:

同步ajax调用可以阻止正常按钮被点击吗?我的测试显示不会发生这种情况,但可能其他浏览器会出现问题

长问题:

在我问的另一个问题中,这些人说浏览器在某些情况下会阻塞

实际上,甚至jQuery的用户也会说:
请注意,同步请求可能会暂时锁定浏览器,从而在请求处于活动状态时禁用任何操作。

我正在努力:
1。了解这将如何/为什么发生。
2。评估发生这种情况的可能性。

根据我的理解,这可能是错误的:

我想,如果我作为开发人员,在ajax调用之前没有构建/更新UI,页面的UI就会发生“锁定”,这会“阻塞”javascript VM,从而延迟UI的构建/更新。是否正确?

是的,会的。当同步请求未完成时,浏览器会等待它返回。发生这种情况的概率是100%,但如果您的请求返回速度足够快,则可能不会太明显。问题是,你不能指望请求会很快返回

这就是ajax调用的要点。第一个a表示异步,意思是“不阻塞”

由于ajax调用是异步的,所以当请求返回时,您的代码可以在任何地方,这意味着您需要一种方法来处理请求返回时的响应。这就是为什么要使用回调来处理响应


你为什么不试试呢?

不是我没试过,而是我一直在用它!我只是想知道。这个问题引出了另一个问题。。非常感谢。