Ember的JSON格式

时间:2014-07-22 18:28:54

标签: json ember.js

在Ember.js中,我有一个返回AJAX的页面,格式为:

{
    "foo": [
        {
            "foo1": "1",
            "foo2": "2"
        }
    ],
    "bar": [
        {
            "bar1": "1",
            "bar2": "2"
        }
    ]
}

这是由:

加载
App.PostsRoute = Ember.Route.extend({
    model: function(params) {
        return jQuery.post('http://url/ajax', {
            s: params.query,
        }, function(){}, 'json');
    }
});

但Ember会抛出错误(即使只使用静态内容模板):

Error while processing route: posts undefined is not a function TypeError: undefined is not a function
at m.extend._setupArrangedContent (http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.6.0/ember.min.js:13:29556)
at ...

TypeError: undefined is not a function
at m.extend._setupArrangedContent (http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.6.0/ember.min.js:13:29556)
at ...

如果未返回任何内容,则仅加载静态内容模板。这让我相信错误是在JSON格式中,但JSON在http://tryhandlebarsjs.com/

中工作

1 个答案:

答案 0 :(得分:1)

在创建问题的jsbin时,我发现Posts的ArrayController导致了这个问题--Ember一定期待一个元素数组,并给它一个非数组模型导致错误。