backbone.js 如何管理 AJAX 响应错误

nbewdwxp  于 2022-11-24  发布在  其他
关注(0)|答案(3)|浏览(140)

我正在编写javascript应用程序,我正在使用backbone.js。在应用程序上,我有几个视图*在一个页面中,大多数视图***发送了request(请求〈-它们是ajax-query,但不是backbone.js ajax-query)同时发送到服务器***,如果服务器或网络出现问题,一些response会被破坏并返回错误。问题是所有的错误都需要通过警告显示给用户,尽管看到越来越多的提醒让用户觉得很无聊。我该如何管理提醒?我使用settimeout来显示提醒,但这种方式对减少*提醒计数没有帮助。如果您知道其他方法,请告诉我?

o3imoua4

o3imoua41#

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

pinkon5k

pinkon5k2#

所有的错误都必须显示出来...好吧,那就不要用alert(),用弹出窗口显示错误,并在通知区域显示出来,比如,在页面的左上角。看看gmail是怎么做的: AJAX 出错时,页面中间会显示一个小的通知,用户可以看到,但不会阻塞整个界面。

i7uq4tfw

i7uq4tfw3#

最近,我读到了关于Promises的文章,我想这会对我有帮助。我希望,这对其他人也有帮助。这里有example来处理很多请求。

相关问题