使用EmberJS加载数据时出错

时间:2016-04-25 16:27:02

标签: json ember.js

我尝试使用EmberJS显示从服务器加载的所有数据。 我有模型"节点"

import DS from 'ember-data';

export default DS.Model.extend({
  id: DS.attr(),
  nodeName: DS.attr(),
  address: DS.attr(),
  listeningPort: DS.attr(),
  approved: DS.attr()

});

适配器

import JSONAPIAdapter from 'ember-data/adapters/json-api';

export default JSONAPIAdapter.extend({
  namespace: 'api/v1'
});

我也有索引路线

import Ember from 'ember';

export default Ember.Route.extend({
  model(){
    return this.store.findAll('node');
  }
});

当打开索引表时,会向http://localhost:8080/api/v1/nodes发送一个返回JSON

的请求
{
    "nodes": [
        {
            "address": "127.0.0.1",
            "approved": true,
            "id": 24,
            "listeningPort": 54879,
            "nodeName": "Узел оборудования"
        }
    ]
}

解析此JSON时出现错误

  

vendor-c5c8d3d ... .js:11处理路由时出错:index无法读取属性'键入'未定义的TypeError:无法读取属性' type'未定义的

1 个答案:

答案 0 :(得分:0)

您的回复并非符合json-api标准。有关详细信息,请参阅json-api

基本上,你需要你的回答看起来像这样:

{
  "data": [{
    "type": "nodes",
    "id": "1",
    "attributes": {
      "node-name": "head",
      "address": 42,
      "listening-port": 11117,
      "approved": true
    }
  }]
}