Backbone创建在Http Post中不向服务器发送数据?

时间:2013-01-14 21:10:41

标签: backbone.js backbone.js-collections

我有一个非常简单的模型叫做#34; gameModel"和一个集合" gamesCollection"如下所示。当我尝试在集合中创建一个新游戏时,它会向服务器发送一个帖子,但该帖子中没有数据。有谁知道发生了什么?

//The relevant code
var game = new gameModel();
game.gameId = id;
gamesCollection.create(game);

...........
//The Collection 
define([
  'jQuery',
  'Underscore',
  'Backbone',
  'collections/common/mixin',
  'models/game',
  'config/restresource'
    ], function($, _, Backbone, collectionMixin, gameModel, restDomain){
    var gamesCollection = Backbone.Collection.extend({
        url: (new restDomain()).getGamesRoot(),
        model: gameModel,
        initialize: function(){
            _.extend(this.__proto__, collectionMixin);
        },

        parse: function(resp, xhr) {
            var games = [];
            for(i=0;i<resp.length;i++){
                games.push(new gameModel({gameId: resp[i].gameId}));
            }
            return games;
        },
    });

    return new gamesCollection;
});

1 个答案:

答案 0 :(得分:1)

试试这个

gamesCollection.create({"id":id});

Backbone.Collection.create接受属性作为第一个参数,模型...如果模型成功创建,则返回模型。因此,如果您仍希望使用game模型对象,则可能需要像下面这样实现它。

var game = gamesCollection.create({"id":id});