将我的第一个模型连接到我的后端,并在调用Ember数据时发现以下错误:findAll()
import Ember from 'ember';
export default Ember.Route.extend({
model() {
this.store.findAll('restaurant');
}
});
路线,
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr()
});
模特,
{
"restaurants": {
"id":1,
"name":"Restaurant Name"
}
}
我可以看到Ember正在访问我的本地服务器并从正确的URL返回格式正确的JSON,
declare @SQL nvarchar(max) = N''
select @SQL = @SQL + N'select DatabaseName = ''' + quotename(name) + '''
from ' + quotename(name) + '.sys.tables
where name in (''MasterSchedules'', ''Users'')
having COUNT(*) = 2 UNION ALL '
from sys.databases where name not in ('master', 'tempdb', 'model', 'msdb')
set @SQL = left(@SQL, len(@SQL) - 10)
exec sp_executesql @SQL
我见过类似的问题,但通常与格式不正确的JSON有关。
答案 0 :(得分:2)
使用的默认数据格式Ember数据是JSON API,因此您的数据应如下所示
{
"data": {
"id": "1",
"type": "restaurants,
"attributes": {
"name": "Name"
}
}
}
使Ember数据满足您的需求而不改变后端如何生成数据的格式。您可以添加自己的适配器,用于将您的Ember数据请求转移到正确的请求。
在下面的链接中了解有关适配器的更多信息,
https://guides.emberjs.com/v2.6.0/models/customizing-adapters/
答案 1 :(得分:1)
您的JSON文件的格式类似于REST API响应,但默认情况下Ember使用JSONAPIAdapter。
首先修复JSON,它应该返回一个数组:
$("#container").load($("#survey").contents().find(".requiredDiv"));
然后更改适配器并配置序列化程序:
[{
"id":1,
"name":"Restaurant Name"
}]
了解更多: