如何处理主干木偶视图中的会话超时?由于会话超时,我的ajax调用失败(fetch方法返回错误消息),我需要将用户重定向回登录页面。
答案 0 :(得分:2)
一种方法是覆盖Backbone.sync
并检查失败案例中的返回值。如果是因为会话超时,则重定向到登录页面,否则处理错误。
您可以在此处看到一个示例:https://github.com/davidsulc/marionette-serious-progression-app/blob/master/assets/js/entities/common.js#L107未经授权的访问与“正常”错误的处理方式不同。此代码来自我的advanced book on Marionette。
答案 1 :(得分:1)
例如:
myModel.fetch({
success: function(){
//do something
},
error: function (model, response, options) {
if(response.status == 401){
window.location.href = '/login';
}
}
});
答案 2 :(得分:0)
您可以使用jQuery的ajaxSetup
:
var redirectToLogin = function()
{
App.router.navigate('login', true);
};
$.ajaxSetup(
{
statusCode: {
401: redirectToLogin,
403: redirectToLogin
}
});