我使用纯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
答案 0 :(得分:1)
这对我有用:
// 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_CHANGED , net :: ERR_ADDRESS_UNREACHABLE , net :: ERR_TIMED_OUT )可能会被这种方式“捕获”。我无法在_xhr对象中的任何位置找到这些错误消息,因此对具体发生的网络错误做出程序性决定将不可靠。
答案 1 :(得分:0)
在控制台中无法显示该错误。就像您请求一个不存在的文件一样,无论您是否处理错误,都会在控制台中获得.custom-page-thumbnail-container{
float:left;
text-align: center;
width: 350px;
overflow: hidden;
height: 350px;
}
.custom-page-thumbnail-container img{
width: auto;
height: 100%;
border-top: 6px double #186F38;
margin-left: -100%;
margin-right:-100%;}
。