javascript - Ember 1.13.3 中服务器端错误处理

标签 javascript ember.js ember-data json-api

在 Ember 1.13.3 中处理服务器端错误的正确方法是什么?

我正在使用 RESTAdapter,并且我尝试使用/不使用以下代码:

handleResponse: function(status, headers, payload) {
if (payload.errors) {
  return new DS.InvalidError(payload.errors);
}
return this._super(...arguments);

}

我的服务器返回 422 并带有这样的 JSON:

            {
                errors: [
                    {
                        source: {pointer: 'data'},
                        detail: 'Not saved'
                    }
                ]
            }

在我的 route ,我以这种方式保存模型:

job.save().then(function() {
    console.log('OK');
  }).catch(function(err) {
    console.log('Error: ', err, ' Model ', job.get('isError'));
  });

如果出现错误,流程将进入 catch block ,并且“err”按预期是 InvalidError 对象,但 job.get('isError') 返回 false。

现在我不知道如何在组件 UI 中获取错误,因为模型属性 isError 始终为 false。

谢谢

最佳答案

你没有捕获 isError 的要点

If true the adapter reported that it was unable to save local changes to the backend for any reason other than a server-side validation error.

您应该检查的是 isValid

A record will be in the valid state when the adapter did not report any server-side validation failures.

关于javascript - Ember 1.13.3 中服务器端错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31805412/

相关文章:

javascript - SF4/WWebpack - Javascript 函数未定义

php - FORM(使用 Javascript)在 PHP 页面中不起作用!

javascript - 是否可以在 vue.js 中改变任意嵌套子组件的属性,而无需在整个层次结构中创建事件链?

ember.js - ember 数据休息适配器不工作

javascript - 如何从 ember save 方法获取 JSON 响应

javascript - 使用 animate.css(描述中的链接)如何在特定事件完成时触发动画

javascript - 商店更新时如何更新模型数据 emberjs

ember.js - 具有动态路段名称的Ember路线

ember.js - Uncaught Error : Attempted to handle event `loadedData` while in state rootState. loaded.updated.uncommitted

javascript - 将数据传递给子模板