Javascript 断言失败:`AdapterError`需要json api格式的错误数组

Javascript 断言失败:`AdapterError`需要json api格式的错误数组,javascript,ember.js,Javascript,Ember.js,在阅读了大量关于如何解决Ember JS中的错误处理的技巧和技巧后,我仍然无法找出我的代码的错误 首先,我有这样一个用户模型: import DS from 'ember-data'; export default DS.Model.extend({ firstName: DS.attr('string'), surName: DS.attr('string'), email: DS.attr('string'), plainPassword: DS.attr(

在阅读了大量关于如何解决Ember JS中的错误处理的技巧和技巧后,我仍然无法找出我的代码的错误

首先,我有这样一个用户模型:

import DS from 'ember-data';

export default DS.Model.extend({
    firstName: DS.attr('string'),
    surName: DS.attr('string'),
    email: DS.attr('string'),
    plainPassword: DS.attr('string')
});
显然,我没有从服务器返回密码,但我假设模型中需要它来从注册表发送密码。不管怎样,继续

表单模板如下所示:

<!-- start Register -->
<div class="container-fluid">
    <form name="form_register" {{action 'submit' on="submit"}} class="form-register" novalidate="novalidate">
        <div class="col-md">
            <label class="el-input-wrap">
                First Name
                {{input class="el-input" placeholder='firstName' value=model.firstName}}
            </label>
            <label class="el-input-wrap">
                Last Name
                {{input class="el-input" placeholder='surName' value=model.surName}}
            </label>
        </div>
        <div class="col-md">
            <label class="el-input-wrap">
                Email
                {{input class="el-input" placeholder='email' value=model.email}}
            </label>
            <label class="el-input-wrap">
                Password
                {{input class="el-input" placeholder='password' value=model.plainPassword type='password'}}
            </label>
        </div>
        <div class="col">
            <label class="el-checkbox">
                By registering I agree to the terms and conditions
            </label>
        </div>
        <button type="submit" class="el-btn mod-full-w">REGISTER</button>
    </form>
</div>
<!-- end Register -->
在这里,我尝试了console.log errors、errors.firstName等等。但没有显示错误

adapterError告诉我错误格式不是JSON API格式。但从我看来,这是:

{
    "errors": {
        "source": {
            "pointer": "user\/email"
        },
        "detail": "user.email.not_blank"
    }
}
最后,我在adapters/application.js中使用RESTAdapter:

import DS from 'ember-data';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';

export default DS.RESTAdapter.extend(DataAdapterMixin, {
    namespace: 'app_dev.php/api',
    authorizer: 'authorizer:token', //or authorizer: 'authorizer:jwt'
});

就我的一生而言,我无法找出什么是错的。我将非常感谢任何帮助或指点。谢谢你。

想明白了。只是我没有返回错误数组。正确的错误响应为:

{
    "errors": [{
        "source": {
            "pointer": "user\/firstName"
        },
        "detail": "user.first_name.not_blank"
    }, {
        "source": {
            "pointer": "user\/surName"
        },
        "detail": "user.sur_name.not_blank"
    }, {
        "source": {
            "pointer": "user\/email"
        },
        "detail": "user.email.not_blank"
    }]
}
{
    "errors": [{
        "source": {
            "pointer": "user\/firstName"
        },
        "detail": "user.first_name.not_blank"
    }, {
        "source": {
            "pointer": "user\/surName"
        },
        "detail": "user.sur_name.not_blank"
    }, {
        "source": {
            "pointer": "user\/email"
        },
        "detail": "user.email.not_blank"
    }]
}