Javascript &引用;断言失败:来自findAll的响应必须是数组,而不是未定义的";
我试图让Emberjs与Fortune JS后端一起工作。到目前为止,我在Ember中制作了一个非常简单的页面,该页面应该显示所有的“客户”实体,它可以与LSadapter配合使用 当我的应用加载概览页面时,它会向Javascript &引用;断言失败:来自findAll的响应必须是数组,而不是未定义的";,javascript,json,ember.js,ember-data,Javascript,Json,Ember.js,Ember Data,我试图让Emberjs与Fortune JS后端一起工作。到目前为止,我在Ember中制作了一个非常简单的页面,该页面应该显示所有的“客户”实体,它可以与LSadapter配合使用 当我的应用加载概览页面时,它会向http://localhost:1337/customers《财富》杂志回应道: { "customers": [ { "id": "YIR17juOFkaWBFhl", "name": "PIm", "phone": 132, "fax": 123, "cham
http://localhost:1337/customers
《财富》杂志回应道:
{
"customers": [
{
"id": "YIR17juOFkaWBFhl",
"name": "PIm",
"phone": 132,
"fax": 123,
"chamberOfCommerceNumber": 123,
"website": "123.nl"
},
{
"id": "gUGIoHvwI8mwVTgE",
"name": "Marco",
"phone": 123,
"fax": 123,
"chamberOfCommerceNumber": 123,
"website": "it.nl"
}]}
然而,余烬似乎不喜欢它,给了我:
断言失败:来自findAll的响应必须是数组,而不是数组
未定义”
我认为这是ember期望从get请求中获得所有客户的正确json格式,出了什么问题
仅供参考,我制作了一个与fortunejs配合良好的创建页面。为此,我必须修改RESTSerializer,如下所示:
App.ApplicationSerializer = DS.RESTSerializer.extend({
serialize: (record, options) ->
[this._super record, options] #Turn into array
serializeIntoHash: (hash, type, record, options) ->
console.log type.typeKey
type.typeKey = Ember.Inflector.inflector.pluralize type.typeKey #pluralize root key
console.log type.typeKey
console.log record
result = this._super hash, type, record, options
});
但这与api中传入的JSON格式无关
知道哪里出了问题吗?我知道这是一个老问题,我不确定Stack Overflow在这方面的政策,但我一直在寻找未回答的问题,看看我是否知道有什么不对劲的地方 我认为这里的问题在于findAll(在当前版本的Ember数据中不存在)是一种只进行存储查找的方法。当前版本()中的所有 您需要
store.find
,它会向后端服务器请求数据()
希望这能帮助那些偶然发现这个问题的人