- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
有没有办法捕获加载资源失败:net::ERR_CONNECTION_REFUSED
,我试过了:
try {
$.post('',{},function(res) {
}).fail(function (xhr, textStatus, errorThrown) {
xhr.textStatus = textStatus;
xhr.errorThrown = errorThrown;
console.log('fail',xhr);
// how to get the 'ERR_CONNECTION_REFUSED' or anything else as string?
});
} catch(e) {
console.log('catch',e);
}
失败函数可以捕获,但我没有得到有关错误的信息,要么是:
或其他任何问题.. 问题是,如何得到那种错误?
最佳答案
我什至尝试使用 javascript XMLHttpRequest()
实现目标
var xhttp= new XMLHttpRequest();
try{
xhttp.onreadystatechange = function() {
console.log(xhttp);
if (xhttp.readyState == 4 && xhttp.status == 0) {
alert("Unknown Error Occured. Server response not received.");
}
};
xhttp.open("POST", "http://localhost:8080/data", true);
xhttp.send();
}catch(e){
console.log('catch', e);
}
上面的代码片段只给出了一般的错误处理,而我并没有得到错误背后的确切原因。 try...catch
语句未能捕获任何内容,因为 try block 内的函数均未抛出任何异常。似乎 XMLHttpRequest
在后台线程中运行,因此它的运行时错误无法被捕获。
由于 jQuery 是一个实际上是 javascript 的库,它对 $.post()
的行为也相同,因为 $.post()
也使用 XMLHttpRequest
幕后花絮。
以下是 jQuery 版本,它也将处理一般错误,因为我们无法确切知道错误原因。
try {
$.post('http://localhost:8080/data', {}, function(res) {}).fail(function() {
alert("Unknown Error Occured. Server response not received.");
});
} catch (e) {
console.log('catch', e);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
结论
由于 javascript XMLHttpRequest()
在处理不同的错误状态方面仍然不够有效,我们无法知道 AJAX 请求网络错误背后的确切原因。我们只能捕获一般错误和一些其他已知的状态代码,例如
"404" for file not found
"500" for server not responding
More can be known from https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
更新:自从我上次更新这篇文章以来已经有很长时间了。我看到很少有答案试图实现类似的目标,但仍然收效甚微。正如在这个线程的一些答案中提到的,我们也可以使用 XMLHttpRequest.onerror
回调函数来捕获一些一般错误,但如果您仍在使用 IE,那么它可能不起作用。
关于javascript - 如何捕捉网络::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28556398/
我实际上正在学习将Django框架与PostgreSQL和Docker和docker-compose一起使用。 通常,当我出错时(例如,views.py文件中的语法错误),我都无法通过Web浏览器访问
我有2个容器正在运行: 是基于nginx的前端应用程序/容器(在浏览器中打开的网页),尝试在“/ search”端点进行API调用。网页是静态的,可以通过将网页内容复制到/usr/share/ngin
我正在学习有关 spring 的教程,到目前为止,我的代码允许您添加用户并查看所有用户。我现在正在尝试添加删除功能。我添加了以下代码来实现此目的。我相信它与教程中所示完全相同,但结果我得到 ERR_C
我的网站是 HTTPS,我有一个按钮可以播放来自外部网络电台的音频。我使用这段代码插入音频: 但是它不起作用。在 Chrome 控制台中得到这个错误 GET https://stream.radio
连接到一个不存在的 web 套接字服务器会导致控制台记录大量错误,通常是 ...net::ERR_CONNECTION_REFUSED。 有人想出一个让这个输出静音的 hackaround 想法吗?
有没有办法捕获加载资源失败:net::ERR_CONNECTION_REFUSED,我试过了: try { $.post('',{},function(res) { }).fail(funct
我开始使用 NodeJS 和 Socket.IO。我正在尝试使用 NodeJS http 服务器设置一个基本示例并建立与服务器的 Socket.IO 连接。 我也在使用 Angular JS,基本上我
我很难解决几天内无法解决的问题。 问题是 ERR_CONNECTION_REFUSED 的错误。 我正在尝试使用子域通过反向代理访问 api。 我正在使用 Ubuntu。 这是配置: default:
升级到 OSX Yosemite 后,我无法再使用开发机器 (MacBook Pro) 的 IP 地址在移动设备上测试我的应用程序。例如,我以前可以通过转到 http://192.168.0.4:30
所以我正在尝试制作一个像 Electron 书那样的pokedex应用程序,为此,我需要使用this api,而this one的 Node 版本是这样。 我的问题是,当我尝试使用api时,我的控制台
我收到此错误: WebSocket connection to 'ws://localhost:8000/socket.io/?EIO=3&transport=websocket' failed: E
我的本地 Laravel 服务器出现问题。我正在构建一个 API,我需要从另一台设备进行测试,但唯一有效的 url 是: localhost:8000 如果我尝试 127.0.0.1:8000 或
我想在 Windows 10 上使用 Locust 测试我的项目。 脚本似乎运行正常(CMD 中没有错误),但我无法连接到 Web 界面 http://127.0.0.1:8089 (ERR_CONN
我使用 Eclipse IDE 并安装了 JBOSS 和 Tomcat:一切似乎都正常,但是......当我尝试连接到 http://localhost:8080/manager/html 以使用管理
我一直在寻找,但还没有找到解决方案。 我有一个运行 Centos 5 和 cPanel 的 LAMP 服务器。我已将网站从 http 转换为 https。该网站工作得很好。但是,仅在我的 PC 上定期
我最近尝试在我的服务器上安装 SSL 证书。证书文件(privkey.pem、fullchain.pem)位于应用程序的根目录中。当我运行以下代码时: var express = require('e
我正在使用 ionic 开发应用程序,我可以从我的 webApi 服务器检索数据并使用 ionic serve 在导航器上显示它们,但是当我尝试在模拟器上执行它时: ionic 运行 android
我正在使用“jQuery”(前端)和“Python”(后端)开发一个网络应用程序。在发出 PUT 请求以更新数据库中的详细信息时,这是我在控制台中遇到的错误: OPTIONS "REST API UR
我觉得这个问题很简单,但是我在官方Socket.io docs 中还没有找到答案. 我的 Socket.io 服务器和客户端通信成功,当我关闭服务器时,客户端将尝试重新连接服务器,但失败。这显示在 C
我正在尝试向我的本地主机服务器发出请求,但收到错误消息 Failed to load resource: net::ERR_CONNECTION_REFUSED。 这是我的前端代码: (async (
我是一名优秀的程序员,十分优秀!