繁体   English   中英

如何管理ajax响应错误

[英]how to manage ajax response errors

我写javascript应用程序,我使用backbone.js 。对应用程序我有一个页面多个视图大多数人的意见发送request - (他们是Ajax的查询,但不要求< backbone.js服务器AJAX查询)同时,他们在一个密切的时期产生了结果。 如果服务器或网络出现问题,某些response将中断并返回错误。 问题是所有错误都需要通过警报向用户显示,尽管看到越来越多的用户警报很无聊。 如何管理警报? 我使用settimeout来显示警报,但这种方式对减少警报计数没有帮助。 如果你知道另一种方式,请告诉我它?

    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插件!

必须显示所有错误... 好的,然后不要使用 alert(),使用带有错误的弹出 div 并将它们显示在通知区域中,例如,在您页面的左上角。 看看gmail是怎么做的:ajax出错时,页面中央显示一个小提示,用户可以阅读,但是整个界面没有被屏蔽。

最近,我阅读了有关Promises 的文章,我认为这会对我有所帮助。 我希望,这对其他人也有帮助。 这是处理许多请求的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM