this.save(userDetails, {
success: function (user, result, xhr) {
this.set({userName: user.userName});
},
error: function (user, result, xhr) {
}
});
return this.userName;
当我尝试使用我得到的响应设置userName
时,它没有设置。当我尝试提醒返回this.userName
时,它说我未定义。
答案 0 :(得分:1)
这里有几件事:
调用成功函数(保存后回调)时,它会返回保存的整个模型,因此您可以尝试:
成功:功能(型号){ model.set({userName:model.userName}); }
保存是异步的,因此您可能需要执行以下操作:
this.model.on('同步',函数(模型){ model.set({userName:model.userName}); //编程的其余部分; })
答案 1 :(得分:1)
user
是Backbone模型,所以基本上你似乎想要这样做:
user.set({userName: user.get('userName'});
如果userName是从服务器返回的值,则可能已在模型上设置了该值。
在您的成功处理程序中,试试这个:
console.log(user.get('userName'));
您不使用model.userName
访问模型的属性,而是使用model.get('userName')
。