在 Ember 1.13.3 中处理服务器端错误的正确方法是什么?
我正在使用 RESTAdapter 并尝试使用/不使用此代码:
handleResponse: function(status, headers, payload) {
if (payload.errors) {
return new DS.InvalidError(payload.errors);
}
return this._super(...arguments);
}
我的服务器使用这样的 JSON 返回 422:
{
errors: [
{
source: {pointer: 'data'},
detail: 'Not saved'
}
]
}
在我的路线中,我以这种方式保存模型:
job.save().then(function() {
console.log('OK');
}).catch(function(err) {
console.log('Error: ', err, ' Model ', job.get('isError'));
});
如果出现错误,流程将进入 catch 块,并且 'err' 是预期的 InvalidError 对象,但 job.get('isError') 返回 false。
现在我不知道如何在组件 UI 中获取错误,因为模型属性 isError 总是错误的。
谢谢