2016-04-26 124 views
0

由于ASP.NET身份2.0的问题,服务器返回HTTP 200并显示HTTP 400消息,我试图拦截它以便将用户重定向到登录页面。这是我的代码,但似乎该网站不再进步。我知道这个问题在ASP.NET Identity 3.0中得到了解决,但它现在不是一个选项。关于下面的代码的任何想法?BreezeJS拦截服务器响应

var ajaxAdapter = breeze.config.getAdapterInstance('ajax'); 

ajaxAdapter.requestInterceptor = function (requestInfo) { 
requestInfo.success = function (response) { 
    // process response message here. 
    return response; 
}}; 

回答

0

我最终通过分配原来成功函数变量,然后经过自己的代码调用它固定的:

var ajaxAdapter = breeze.config.getAdapterInstance('ajax'); 

ajaxAdapter.requestInterceptor = function (requestInfo) { 
var oldSuccessFn = requestInfo.success; 

requestInfo.success = function (data, statusText, jqXHR) { 
    if (data.Message == "Authorization has been denied for this request.") { 
     signOut(); 
    } else { 
     var result; 
     oldSuccessFn.call(result, data, statusText, jqXHR); 
     return result; 
    } 
},