0
this.save(userDetails, {
    success: function (user, result, xhr) {
        this.set({userName: user.userName});
    },

    error: function (user, result, xhr) {

    }
});

return this.userName;

取得した応答で設定しようとすると、設定されuserNameません。return をアラートしようとするとthis.userName、 undefined と表示されます。

4

2 に答える 2

1

ここでいくつかのこと:

  1. 成功関数が呼び出されると(保存後のコールバック)、保存されたモデル全体が返されるため、次のことを試してください。

    成功:関数(モデル){モデル.セット({ユーザー名:モデル.ユーザー名}); }

  2. 保存は非同期なので、次のようなことをしたいかもしれません:

    this.model.on('sync',function(model){ model.set({userName : model.userName}); //残りのプログラミング; })

于 2013-02-06T06:41:41.540 に答える
1

userはバックボーン モデルであるため、基本的にはこれを実行しようとしているようです。

user.set({userName: user.get('userName'});

userName がサーバーから返された値である場合、モデルに既に設定されている可能性があります。

成功ハンドラで、これを試してください:

console.log(user.get('userName'));

を使用してモデルの属性にアクセスするのではなくmodel.userName、 を使用しますmodel.get('userName')

于 2013-02-06T06:49:51.510 に答える