Я пытаюсь отправить некоторые данные JSON из экспресс-модели на базовую модель.Отправка данных JSON от Nodejs Express на магистраль
Update
console.log(response)
в parse function
модели печатает значения, как {"version":"1.0","balance":"80.0"}
console.log(this.model)
в render()
функции View дает {}
Server Side Node 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"});
});
Backbone Модель
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)
'синтаксического анализа: функция (ответ) { console.log (JSON.stringify (ответ));' дает мне '{ "версию": "1.0", "баланс": "80,0"}' , Означает ли это, что модель пуста? –
Да, или создаваемый объект не в правильном формате. Или, возможно, вы пытаетесь отобразить представление перед вызовом функции parse. Таким образом, рендеринг с пустым объектом – Hazaart
Я думаю, что вы правы. Я разместил весь свой код, серверную сторону, а также клиентскую сторону. Вы видите какую-то проблему? –