Tôi đã nghiên cứu về cùng một chủ đề và có vẻ như thông tin ở đây hơi lỗi thời. Sử dụng Ember 1.7.0, bạn nên xử lý lỗi trong route. Nếu bạn muốn áp dụng điều này cho toàn bộ ứng dụng, bạn nên thêm nó vào lớp ApplicationRoute
của bạn, như vậy
// 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;
Đây là cách tương tự như các tài liệu mô tả nó: read here
Cập nhật: Trong các phiên bản mới hơn của dữ liệu Ember và Ember, cấu trúc đối tượng lỗi sẽ khác một chút. Trạng thái sẽ là một chuỗi, chứa trong một đối tượng lỗi, trong một mảng lỗi:
actions: {
error: function(error, transition) {
if (error.errors[0].status === '401') {
this.transitionTo('sign-in');
}
}
}
Nguồn
2014-08-28 13:44:55
Điều này cần được xử lý bởi bộ định tuyến ngay bây giờ, tương tự như sau: http://stackoverflow.com/questions/17981563/?hl=vi -data-handling-401s –