如果我离开$ .ajax()请求中间的页面,则会触发错误回调。我已经在Safari和FF中使用GET和POST请求进行了测试。
一种可能的解决方案是中止页面卸载时的所有AJAX请求,但是在卸载之前会调用错误处理程序,因此这似乎是不可能的。
我希望能够通过礼貌的警告或模式对话框在客户端优雅地处理诸如500s之类的REAL错误,但是我不希望在用户离开页面时调用此处理。
我该怎么做呢?
-
(也很奇怪:当离开页面时,错误处理程序会说textStatus参数为“错误”,与接收到500 /错误请求时抛出的错误相同。)
在错误回调或$ .ajax中,您有三个输入参数:
function (XMLHttpRequest, textStatus, errorThrown) {
this; // options for this ajax request
}
您可以直接检查xhr.status
以获得HTTP响应代码,例如:
$.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
},
error: function (xhr, textStatus) {
if (xhr.status == 500) {
alert('Server error: '+ textStatus);
}
}
});
编辑: 告诉浏览器断开连接与服务器关闭的情况之间的区别(jasonmerino的评论):
卸载时,xhr.readyState应该为0,对于无响应服务器,xhr.readyState应该为4。
问题内容: 我在这里尝试了答案已删除golang但go命令仍然有效?,但是没有用(我仍然可以运行go) 目前,当我运行时,我看到此输出 我指的是我有两个安装的go,因为我指向另一个名为的文件夹。我现在已经删除了该文件夹以及该文件夹。 我还删除了我的。但是,我仍然可以运行。 如何卸载golang? 问题答案: 你可以试试 然后删除例如中的任何提及;那么您至少需要注销并登录。 但是,这样做时要小心。如
问题内容: 这可能很简单,但是我在任何地方都找不到任何提示。那么,一般来说,尤其是在Mac上,应该怎么做呢? 问题答案: 如果您使用http://jenkins-ci.org/中的官方Jenkins Mac安装程序进行安装,则这些说明适用。 从终端执行卸载脚本: 或使用Finder导航到该文件夹,然后双击Uninstall.command。 最后删除 可能 已经忘记的最后配置位: 如果找不到卸
我的机器上安装了PostGis,不知怎的,一些文件被破坏了。我想卸载并重新安装PostGIS,希望它能重新工作,但我不知道该怎么做。 我正在运行Windows 8.1。我试着在控制面板的
我在Ubuntu 20.04桌面上。我不记得我是否必须在这里手动安装(必须在其他Ubuntu机器上安装),但我有一个系统: ...然后: 然后,尝试从我的主目录设置virtualenv: 然后,我将以下内容放在venv_mpl/requirements.in中: 然后,我启用 virtualenv,并尝试安装软件包: 嗯,是的,我以前确实安装了apturl: …但话说回来,不应该是这样的吗,如果我
由于install4j没有一个维护安装程序来允许删除部分组件,我修改了卸载程序,以创建显示每个可卸载组件的可配置表单,然后简单地根据用户选择删除文件,这反过来意味着删除标准卸载屏幕。
需要卸载jjrofiler的帮助。没有意识到它需要许可证。通过安装。sh可执行文件。