【发布时间】:2014-02-07 14:24:53
【问题描述】:
我正在尝试将一些 JSON 数据从 express 发送到 Backbone 模型。
更新console.log(response) in parse function of Model 将值打印为{"version":"1.0","balance":"80.0"}
View的render()函数中的console.log(this.model)给出{}
服务器端节点 JS
var express = require('express');
var app = express();
app.listen(3000);
app.get('/getInfo', function(req, res){
//res.setHeader('Content-Type', 'application/json');
res.json({version: "1.0", balance: "80.0"});
});
在 Node JS 方面,我尝试了以下操作:
app.get('/getInfo', function(req, res){
res.setHeader('Content-Type', 'application/json');
res.send({version: "1.0", balance: "80.0"});
});
主干模型
var Bitcoin = Backbone.Model.extend({
url:'http://localhost:3000/getInfo',
parse: function(response) {
console.log(JSON.stringify(response));
return response;
}
});
var info = new Bitcoin ();
info.fetch();
如果我把它改成
var info = new Bitcoin ({version: "1.0", balance: "80.0"});
主干视图
var BitcoinView = Backbone.View.extend({
id:'info',
class:'bitcoin',
template: _.template('<span> <%= balance %> </span>'+
'<span><%= version %></span>'),
render: function() {
console.log(JSON.stringify(this.model));
var attributes = this.model.toJSON();
this.$el.html(this.template(attributes));
}
});
var bitcoinView = new BitcoinView({model: info});
bitcoinView.render();
$('#app').html(bitcoinView.el);
控制台
Uncaught ReferenceError: balance is not defined (from View)
XHR finished loading: "http://localhost:3000/getInfo".
{"version":"1.0","balance":"80.0"} (from parse function)
【问题讨论】:
标签: javascript json node.js backbone.js express