Ich recherchierte zum selben Thema und sieht aus wie die Informationen hier ist ein bisschen veraltet. Mit Ember 1.7.0 sollten Sie den Fehler in der Route behandeln. Wenn Sie dies für die gesamte App anwenden möchten, sollten Sie es zu Ihrem ApplicationRoute
Klasse schreiben, so
// app/routes/application.js
import Ember from 'ember';
var ApplicationRoute = Ember.Route.extend({
actions: {
error: function (error, transition) {
// Handle the error here
if (error && error.status === 401) {
return this.transitionTo('login');
}
}
}
});
export default ApplicationRoute;
Dies ist die gleiche Art und Weise ist, wie die Dokumentation beschreibt: read here
Update: In neuere Versionen von Ember und Ember Data, wird die Fehlerobjektstruktur ein wenig anders sein. Der Status wird eine Zeichenfolge sein, innerhalb eines Fehler-Objekt enthalten, innerhalb eines Arrays Fehler:
actions: {
error: function(error, transition) {
if (error.errors[0].status === '401') {
this.transitionTo('sign-in');
}
}
}
Dies sollte nun, ähnlich wie dies durch den Router abgewickelt werden: http://stackoverflow.com/questions/17981563/ember -Datenhandling-401s –