Stavo facendo ricerche sullo stesso argomento e sembra che le informazioni qui siano un po 'obsolete. Usando Ember 1.7.0, dovresti gestire l'errore nel percorso. Se si desidera applicare questo per l'intera applicazione, si dovrebbe aggiungere alla vostra classe ApplicationRoute
, in questo modo
// 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;
Questo è lo stesso modo in cui la documentazione descrive: read here
Update: In versioni più recenti di Ember e Ember Data, la struttura dell'oggetto di errore sarà leggermente diversa. Lo stato sarà una stringa, contenuta all'interno di un oggetto errore, all'interno di una matrice errori:
actions: {
error: function(error, transition) {
if (error.errors[0].status === '401') {
this.transitionTo('sign-in');
}
}
}
fonte
2014-08-28 13:44:55
Questo dovrebbe essere gestita dal router ormai, simile a questo: http://stackoverflow.com/questions/17981563/ember -data-movimentazione-401S –