Backbone.js全局错误处理

时间:2011-07-26 13:55:25

标签: javascript jquery backbone.js

我正在编写使用Backbone.js用于Web前端的网站,以及用于API后端的RESTful服务器。我的API(RESTful)服务器需要手动授权,并且需要“授权”标头中的安全令牌。如果安全令牌被弃用或损坏,API服务器将返回带有401状态代码的响应。我重写Backbone.sync以发送带有请求的其他标头,并在AJAX错误上返回options.error(jqXHR.status)

如何在失败的资源加载时添加全局错误事件侦听器来处理options.error(...)事件?我需要它来导航重定向到/#!/signin响应的401 Unauthorized页面。

2 个答案:

答案 0 :(得分:10)

您可以尝试使用jQuery Global Ajax事件处理程序:

http://api.jquery.com/category/ajax/global-ajax-event-handlers/

您只需将.ajaxError事件绑定到正文或您的应用程序元素,然后过滤401状态代码即可。

在401错误中,您将应用程序重定向为window.yourAppRouter.navigate(...)

答案 1 :(得分:0)

与Global Ajax事件处理程序的建议类似,您可以通过jQuery ajaxSetup方法处理此问题:https://stackoverflow.com/a/19981363/886153