Javascript backbone.js模型在成功获取后未更新
我试图在项目中使用backbone.js,但在尝试使用Javascript backbone.js模型在成功获取后未更新,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我试图在项目中使用backbone.js,但在尝试使用fetch方法更新模型时遇到了问题。 我的模型如下(singleton对象,因为我只需要一个实例) 我的观点如下,当成功获取时,在记录模型和响应的地方调用方法updateLogin 定义([ “jquery”, “下划线”, "骨干",, “模型/用户/用户模型”, 'text!templates/login/loginTemplate.html' ],函数($,\,主干,用户模型,loginTemplate){/},页脚模板){ })) 目
fetch
方法更新模型时遇到了问题。
我的模型如下(singleton对象,因为我只需要一个实例)
我的观点如下,当成功获取时,在记录模型和响应的地方调用方法updateLogin
定义([
“jquery”,
“下划线”,
"骨干",,
“模型/用户/用户模型”,
'text!templates/login/loginTemplate.html'
],函数($,\,主干,用户模型,loginTemplate){/},页脚模板){
}))
目前我的模型没有更新
但响应对象是正确和成功的
任何帮助都将不胜感激
parse: function (res) {
// because of jsonp
return res.data;
}
需要删除,它是从一个示例中复制的,尽管示例中的查询在一个对象中有一个对象,这与我的配置不同。立即解决=]
var LoginView = Backbone.View.extend({
el: $("#loginArea"),
events: {
'mouseup #loginButton': 'expandLogin',
'click #login': 'loginUser'
},
initialize: function () {
this.options = { user: '', pass: "" };
var that = this;
this.model = UserModel;
this.model.on('change', this.render, this);
this.render();
},
render: function () {
var data = {
user: this.model.toJSON(),
_: _
};
var compiledTemplate = _.template(loginTemplate, data);
this.$el.html(compiledTemplate);
},
updateLogin: function(model, response, options) {
console.log(model);
console.log(response);
console.log(options);
},
expandLogin: function () {
var button = this.$el.children("div").first().children('#loginButton')[0];
var box = this.$el.children("div").first().children('#loginBox')[0];
$(box).fadeToggle(400);
$(button).toggleClass('active');
},
loginUser: function () {
var that = this;
var username = $('#username_field', this.el).val();
var password = $('#password_field', this.el).val();
this.options = { user: username, pass: password };
this.model.prepare(this.options);
this.model.fetch({
type: "GET",
error: function (collection, response, options) {
alert('error');
alert(response.responseText);
},
success: that.updateLogin,
complete: function () {
alert('complete');
},
dataType: 'jsonp'
});
}
});
return LoginView;
parse: function (res) {
// because of jsonp
return res.data;
}