2016-04-26 4 views
0

ASP.NET ID 2.0に問題があるため、サーバーはHTTP 400を返すHTTP 200を返し、ユーザーをログインページにリダイレクトするためにHTTP 400を傍受しようとしています。これは私が持っているコードですが、サイトがもう進行していないようです。この問題はASP.NET ID 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; 
    } 
},