2016-04-26 118 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; 
    } 
},