Ember JSON加载问题 - 加载路径时出错:undefined

时间:2014-03-20 02:33:22

标签: javascript jquery json ember.js

我有以下非常简单的文件,但是当我通过转到#/ myitem路径加载它时,在控制台中我得到“加载路径时出错:未定义”。 testdata.json的json文件内容显示在文件顶部的注释中。我已经通过fiddler验证了JSON文件是否正常运行。任何帮助都会很棒!

<head>
    <meta charset=utf-8 />
    <script src="js/libs/jquery-1.10.2.js"></script>
    <script src="js/libs/handlebars-v1.3.0.js"></script>
    <script src="js/libs/ember-1.4.0.js"></script>
    <script src="js/libs/ember-data.js"></script>
</head>

<body>

<!--
Here is what is in testdata.json:

[
    {  letter:"A", frequency:0.01492 },
    {  letter:"B", frequency:0.08167 }
]

-->

<script type="text/x-handlebars" id="application">
    <h1>Welcome to this Demo!!</h1>
    {{outlet}}
    <h1>Bye!!</h1>
            {{#link-to "myitem"}}My Item Route{{/link-to}}
</script>

<script type="text/x-handlebars" id="myitem">
    <h2>Some Items</h2>
    <ul>
        {{#each}}
        <li>{{letter}}</li>
        {{/each}}
    </ul>
</script>

<script language="JavaScript">

App = Ember.Application.create({
});

App.Router.map(function() {
    this.route('myitem');
});

App.MyitemRoute = Ember.Route.extend({
    model: function() {
        var data = Ember.$.getJSON('testdata.json');
        return data;
    }
});

</script>

</body>

1 个答案:

答案 0 :(得分:1)

这看起来是由不包含有效json的testdata.json引起的。

RFC 4627声明“名称是字符串”意味着名称必须在引号中,而在您的情况下,letterfrequency不会引用。我已经快速在本地复制这个,并修复报价似乎解决了这个问题。尝试将其粘贴到testdata.json中:

[ {"letter": "hello"}, {"letter": "world"} ]
相关问题