Jquery AJAX 全局超时(整个应用程序)我正在使用 $.get 和 $.post(不能使用 $.ajax)
Posted
技术标签:
【中文标题】Jquery AJAX 全局超时(整个应用程序)我正在使用 $.get 和 $.post(不能使用 $.ajax)【英文标题】:Jquery AJAX Global Timeout (Entire Application) Im using $.get & $.post (can't use $.ajax) 【发布时间】:2013-05-31 18:23:51 【问题描述】:我已经用 jquery 创建了 Spring Web 应用程序。对于每个使用 $.get 或 $.post(不是 $.ajax)的 ajax 调用。
但我没有处理任何 ajax 超时或 ajax 错误。现在我的应用程序部署在服务器上,我无法进行任何重大更改。
请帮助我如何处理整个 Web 应用程序的 AJAX 超时,我应该在全球范围内 alert("Ajax Timeout")。另外,无论出现什么 ajax 错误,我都应该向用户提醒错误消息。
我听说过 $.ajaxSetup 和 $.ajaxError 但是如何在我的网络应用程序中使用它们,我需要在 document.ready 中添加它吗??
【问题讨论】:
【参考方案1】:你可以使用 $.ajaxSetup(timeout: 100);
【讨论】:
【参考方案2】:您可以将ajaxError 处理程序附加到文档
$(function()
$(document).ajaxError(function(event, request, settings)
//Do whatever
);
);
编辑:要全局设置 Ajax 超时,您必须使用 ajaxSetup
$.ajaxSetup(
timeout: 2000 //Time in milliseconds
);
注意:$.ajaxSetup
应该在其他 Ajax 调用之前设置。
【讨论】:
如何全局设置ajax超时时间? 请求超时时如何添加提示信息? 我正在使用 ajaxSetup 但超时对我不起作用。不改变任何东西。【参考方案3】:这是在您的应用程序中设置ajaxError
的方法。
在准备好的文档中执行此操作一次。
$(document).ajaxError(function (event, xhr)
console.log(xhr.status + ': ' + xhr.statusText);
);
xhr.status
是返回的http状态码,最常见的是404
(未找到)、201
(已创建)、403
(已禁止),这些状态码的列表参考:@ 987654321@.
【讨论】:
如何全局设置ajax超时时间?以上是关于Jquery AJAX 全局超时(整个应用程序)我正在使用 $.get 和 $.post(不能使用 $.ajax)的主要内容,如果未能解决你的问题,请参考以下文章