我试图用一个品牌打击用Backbone.js编写的新界面替换现有的Web应用程序。最终,这将会非常棒,因为应用程序是由一个用Python + CherryPy编写的restful API支持的,并且不愿意刷新它的主机页面。我的Backbone.js应用程序在页面加载时抛出JSON.Parse SyntaxError
我的第一步是尝试使用关于'net'的各种教程来展示一个小的Backbone.js概念验证。以下是我想出了:
<!DOCTYPE html>
<html>
<head>
<script type="application/javascript" src="/static/js/jquery-1.8.2.min.js"></script>
<script type="application/javascript" src="/static/js/underscore-min.js"></script>
<script type="application/javascript" src="/static/js/json.js"></script>
<script type="application/javascript" src="/static/js/ICanHaz.min.js"></script>
<script type="application/javascript" src="/static/js/backbone.js-0.9.9-min.js"></script>
<script type="application/javascript">
$(function() {
//logical model of a user
var User = Backbone.Model.extend({});
//visual representation of a user
var CurrentUserView = Backbone.View.extend({
render: function() {
this.el = ich.user(this.model.toJSON());
return this;
}
})
//create a user and drop its representation into the DOM
var currentUser = new User({username: "hello world"});
var view = new CurrentUserView({model: currentUser});
$('.content').append(view.el.render());
});
</script>
</head>
<body>
<div class='content'>
<p>The user representation should show up below this paragraph</p>
</div>
<!--ICanHaz user template -->
<script id="user" type="text/html">
<ul class="user">
<li><a href="#">{{ username }}</a></li>
<li><a href="#" id="logout">logout</a></li>
</ul>
</script>
</body>
</html>
不幸的是,当我在Firefox加载这个页面上,用户表示不会将。内容div中显示出来,并在Web控制台错误消息SyntaxError: JSON.parse: unexpected character
显示出来。
这个问题似乎涉及到CurrentUserView,因为下面的代码不正是我想要的:
$(function() {
//logical model of a user
var User = Backbone.Model.extend({});
//create a user and drop its representation into the DOM
var currentUser = new User({username: "hello world"});
$('.content').append(ich.user(currentUser.toJSON()));
});
这到底是怎么回事?
什么是ich.user? – muneebShabbir