我有以下非常简单的文件,但是当我通过转到#/ 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>
答案 0 :(得分:1)
这看起来是由不包含有效json的testdata.json引起的。
RFC 4627声明“名称是字符串”意味着名称必须在引号中,而在您的情况下,letter
和frequency
不会引用。我已经快速在本地复制这个,并修复报价似乎解决了这个问题。尝试将其粘贴到testdata.json中:
[ {"letter": "hello"}, {"letter": "world"} ]