gpt4 book ai didi

javascript - 无法在纯 js 中处理 net::ERR_CONNECTION_REFUSED

转载 作者:行者123 更新时间:2023-11-29 15:29:05 26 4
gpt4 key购买 nike

我使用纯 js(没有 JQuery)向服务器发送 XMLHttpRequest 请求。

        var _xhr = new XMLHttpRequest();

_xhr.open(type, url);
_xhr.setRequestHeader('Content-Type', 'application/json');

_xhr.responseType = 'json';
_xhr.onload = function () {
if (_xhr.status === 200) {
var _json = _xhr.response;
if (typeof _json == 'string')
_json = JSON.parse(_json);
success(_json);
} else {
error(_xhr);
}
};
_xhr.onerror = function(){
console.log('fail');
};
try {
_xhr.send(_to_send);
} catch (e){
options.error(_xhr);
}

当我发送一个请求时它失败了(这没关系)并且我得到一个错误但我无法处理它。 xhr.onerror 将消息打印到控制台,但我也收到了 OPTIONS url net::ERR_CONNECTION_REFUSED。如何避免在控制台中出现此消息?

我还使用 window.onerror 来处理所有错误,但我无法处理此 OPTIONS url net::ERR_CONNECTION_REFUSED

最佳答案

这对我有用:

// Watch for net::ERR_CONNECTION_REFUSED and other oddities.
_xhr.onreadystatechange = function() {
if (_xhr.readyState == 4 && _xhr.status == 0) {
console.log('OH NO!');
}
};

这不仅限于 net::ERR_CONNECTION_REFUSED,因为其他网络错误(例如 net::ERR_NETWORK_CHANGEDnet::ERR_ADDRESS_UNREACHABLEnet::ERR_TIMED_OUT) 可能会被这种方式“捕获”。我无法在 _xhr 对象中的任何位置找到这些错误消息,因此以编程方式确定具体发生了哪个网络错误是不可靠的。

关于javascript - 无法在纯 js 中处理 net::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36552199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com