2016-04-26 5 views
0

Aufgrund eines Problems mit ASP.NET Identity 2.0 gibt der Server HTTP 200 mit einer Nachricht mit der Bezeichnung HTTP 400 zurück, und ich versuche, ihn abzufangen, um den Benutzer auf die Anmeldeseite umzuleiten. Dies ist der Code, den ich habe, aber es scheint, dass die Seite nicht mehr weiter entwickelt. Ich verstehe, dass das Problem in ASP.NET Identity 3.0 behoben ist, aber derzeit keine Option. Irgendwelche Ideen zum Code unten?BreezeJS Intercept Serverantwort

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

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

Antwort

0

Ich landete diese Fixierung durch die ursprüngliche Erfolg Funktion einer Variablen zugewiesen und dann nach meinem eigenen Code Aufruf:

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; 
    } 
},