0

私はゲームと呼ばれるモデルを持っています。ルーターで私は:

            var game = new models.Game({game_id:game_id,team_id:team_id});
            game.fetch({
              success: function (data) {
                    slider.slidePage(new Game({model:data}).$el);
                }
           });

次に、Game ビューで、データベースが何かを返したかどうかを確認します。これを行う最善の方法は何ですか?現時点で私は持っています:

    initialize: function (options) {
       if(this.model){
           console.log('in the if');
       }
       else{
           console.log('in the else');
       }
    }

ただし、データベースから行が返されなくても、これは常に if に入ります...

4

1 に答える 1

0

id理論的にはサーバーだけが知っているはずのプロパティを確認したいかもしれません。(または、 name を使用して必要なプロパティを確認しModel.has("game_name")ます。)

if(typeof this.model.id != "undefined") {
       console.log('in the if');
   }

または、サーバーが「404 not found」のような HTTP コードを返して、データがないことを示すことを検討することもできます。そうすれば、successコールバックに常にデータが含まれていることを確認し、コールバックでデータのないシナリオを処理できerrorます。

于 2013-10-04T18:36:27.893 に答える