我有一个叫做游戏的模型。在路由器中我做:
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);
}
});
然后在游戏视图中我想确定数据库是否返回任何内容。最好的方法是什么?我有一刻:
initialize: function (options) {
if(this.model){
console.log('in the if');
}
else{
console.log('in the else');
}
}
但即使数据库没有返回任何行,这也总会进入if ...
答案 0 :(得分:0)
也许您想要检查id
属性,理论上只有服务器应该知道。 (或者,使用Model.has("game_name")
检查名称等必需属性。)
if(typeof this.model.id != "undefined") {
console.log('in the if');
}
或者,您可能需要考虑让服务器返回类似“404 not found”的HTTP代码,以表示没有数据。这样,您可以确保success
回调始终具有数据,并处理error
回调中的无数据方案。