如何管理ajax响应错误

时间:2013-07-18 12:19:59

标签: javascript jquery ajax backbone.js response

我正在撰写javascript个应用,我正在使用backbone.js。在应用中,我在页面中 多个观看 多数人观看 向服务器 发送request(请求< - 他们是ajax查询,但不是backbone.js ajax-query)同时 ,他们的结果是在一个紧密的时期。如果服务器或网络出现问题,某些response会被破坏并返回错误。问题是所有错误都需要通过警告向用户显示,尽管事实上看到越来越多的用户警报很无聊。我该如何管理警报? 我使用settimeout来显示提醒,但这种方式对 减少 提醒计数没有帮助。 如果你知道另一种方式,请告诉我它吗?

3 个答案:

答案 0 :(得分:4)

    function alertMajorError(errMsg) {
        errMsg = typeof errMsg !== 'undefined' ? errMsg : 'Fatal Error!';
        var n = noty({layout:'center',type:'error',text:errMsg,timeout:false});
    }
    $(document).ajaxError(function(event, jqxhr, settings, exception) {
        if (exception == 'abort') return false;
        alertMajorError('An AJAX error [' + exception + '] occurred in script: ' + settings.url + '<br \><br \>Please report this to the development team!');
        console.log(event, jqxhr, settings, exception);
});

您可以像我一样在主JS文件中设置默认的AJAX error报告者。我使用jQuery noty插件!

答案 1 :(得分:1)

必须显示所有错误... 好的,那就是不要警告(),使用带有错误的弹出窗口并在通知区域显示它们,例如:例如,在您页面的左上角。 看看它是如何在gmail中制作的:当发生ajax错误时,页面中心会显示一个litle通知,用户可以读取它,但整个界面都没有被阻止。

答案 2 :(得分:0)

最近,我读到了Promises的内容,并认为这对我有帮助。我希望,这对其他人也有帮助。这是example,用于处理许多请求。