モデルに問題があります。いくつかのデフォルト値を使用してインスタンス化し、メソッドを使用してモデルset()
を変更しています。方法を使用するとfetch()
、新しい値の代わりにデフォルト値を取得myModel.toJSON()
し、コンソールにログインしようとしました。新しい値が表示myModel.fetch()
されたら、起動します。サーバー側でデフォルト値を取得します。
モデルのプロトタイプは次のとおりです。
window.User = Backbone.Model.extend({
defaults : {
id : "1",
username : "anonymous",
facebook_id : "1235486421",
facebook_token : "AEZH93FZFEFSFSFS4545154sfsfSF"
},
urlRoot: 'http:/localhost:3000/user',
initialize : function() {
console.log('User Constructor...');
this.url = "http://localhost:3000/user/"+this.get('username')+'/'+this.get('facebook_id')+'/'+this.get('facebook_token');
}
});
これが私が使用するコードの塊ですfetch()
:
fetch_user: function(){
var CurrentUser = new User();
FB.login(function(response) {
if (response.authResponse) {
var access_token = response.authResponse.accessToken;
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + ', id: '+response.id+', token: '+access_token);
CurrentUser.set('username', response.name);
CurrentUser.set('facebook_id', response.id);
CurrentUser.set('facebook_token', access_token);
console.log('Current user is: ' + CurrentUser.toJSON());
CurrentUser.fetch({
success: function(_model){
console.log('User fetched successfully');
},
error: function(_model, error){
console.log('User fetched unsuccessfully');
}
});
});
}
else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'email'});
},
ありがとう !