javascript - 如何处理中止的同步 AJAX

标签 javascript ajax jquery

我的 Web 服务器可以更改其 IP 以响应特定的 HTTP 请求。 问题是,浏览器使用同步 $.ajax() 来发布此请求。由于服务器 IP 已更改,请求一旦超时就会中止( Firebug 网络选项卡中的“中止”)。然而,由于帖子是同步的,浏览器(在本例中为 FF)无限挂起。据我所知,不可能超时或以编程方式中止同步 AJAX。

出于许多实际原因,我无法将请求更改为异步。任何想法如何处理这种情况?谢谢

最佳答案

您有几个可用的选项。

更改服务器端行为

更改服务器上的 Web 应用程序以在更改其 IP 地址之前完成对客户端的响应。然后,无论调用是否成功,您的应用程序都会收到响应。

使用异步 AJAX 调用

不言自明。你不想这样做,但你真的应该这样做,而且不仅仅是因为你现在遇到的问题。如果您的应用程序确实需要进行重大更改才能正常工作,那么它可能还有其他需要重新考虑的设计问题。

无论如何,您目前正在使用“即发即弃”方法,所以我真的不明白为什么这会成为问题。

关于javascript - 如何处理中止的同步 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13351623/

相关文章:

javascript - 处理来自多个 AJAX JQuery 查询的独立数据

javascript - 通过 AngularJS 中的 Controller 将结果从一个工厂/服务 ajax 方法传递到另一个方法

jquery - .toggle() 示例不适用于 jQuery 1.9

php - 如何使用ajax附加外部内容?

javascript - jQuery Accordion ()不工作

JavaScript 和字符串中的正斜杠

javascript - 完整日历 GetEvents() 方法调用不起作用

javascript - Java访问浏览器本地存储

javascript - 如何使 jquery 事件在具有动态内容和选择器的 Bootstrap 模式中工作?

javascript - 如何使jquery每个数字