相关疑难解决方法(0)

从JSON.parse捕获异常的正确方法

我正在使用JSON.parse有时包含404响应的响应.在它返回404的情况下,有没有办法捕获异常然后执行其他一些代码?

data = JSON.parse(response, function (key, value) {
    var type;
    if (value && typeof value === 'object') {
        type = value.type;
        if (typeof type === 'string' && typeof window[type] === 'function') {
            return new(window[type])(value);
        }
    }
    return value;
});
Run Code Online (Sandbox Code Playgroud)

javascript xmlhttprequest

240
推荐指数
4
解决办法
20万
查看次数

在控制台中抑制Chrome"无法加载资源"消息

我正在编写一个脚本,该脚本使用XMLHttpRequest来搜索由相对路径定义的文件,尝试解析该脚本可识别的其他相同域绝对路径的相对路径,然后尝试从已解析的文件中加载该文件网址.如果我遇到404,我只是尝试将文件相对路径解析为另一个绝对路径,然后再试一次.对于这个特殊的脚本,它完全可以遇到404-然而,我的控制台上到处都是"无法加载资源:服务器响应状态为404(未找到)消息,我想要抑制它们.

据我所知,没有错误可以捕获 - 错误情况由xmlHttpRequest.onreadystatechange处理程序处理,并且没有window.onerror.

有没有办法压制这些消息?

谢谢

javascript google-chrome xmlhttprequest google-chrome-devtools

36
推荐指数
3
解决办法
9703
查看次数

检测XHR错误确实是由于浏览器停止或点击进入新页面

当我的页面通过XHR加载内容时,如果用户单击停止按钮或单击转到另一个页面,则会调用XHR error()函数.除了在页面上看到大量(红色)错误消息的用户震惊之外,这通常不是什么大问题.

消息是有效的 - 检索内容确实有错误 - 但这是由于用户交互,而不是因为系统故障.

有没有办法区分(404 | 500 |超时错误)和用户点击浏览器的停止按钮导致的错误?

编辑:我正在使用Dojo(因此错误函数引用),但我相信这将是任何XHR实现中常见的情况.调用error()时,我将查看xhr对象的readyState

javascript browser xmlhttprequest

23
推荐指数
1
解决办法
4万
查看次数

使用jQuery AJAX捕获404状态

我有这个代码:

$.ajax({ cache: false,
    url: "/Admin/Contents/GetData",
    data: { accountID: AccountID },
    success: function (data) {
        $('#CityID').html(data);
    },
    error: function (ajaxContext) {
        alert(ajaxContext.responseText)
    }
});
Run Code Online (Sandbox Code Playgroud)

我仍然对ajaxContext以及如何捕获404返回码感到困惑.不过我有另一个问题.我正在阅读有关成功编码和失败的内容,并且在最近的jQuery版本中不再使用错误.

所以我应该改变我的代码使用完成和失败.那怎么能检查404?

jquery http-status-code-404

18
推荐指数
1
解决办法
5万
查看次数