0

サーバーにデータを保存するバックボーンでこのコードを実行しています。

GroupModalHeaderView.prototype.save = function(e) {
  var $collection, $this;
  if (e) {
    e.preventDefault();
  }

  $this = this;
  if (this.$("#group-name").val() !== "") {
    $collection = this.collection;
    if (this.model.isNew()) {
      console.log("MODEL IS NEW");
      this.collection.add(this.model);
    }
    return this.model.save({ name: this.$("#group-name").val()}, {
      async: false,
      wait: true,
      success: function() {
        //console.log($this, "THIS");
        console.log('Successfully saved!');
        this.contentView = new app.GroupModalContentView({
          model: $this.model,
          collection: $this.collection,
          parent: this
        });
        this.contentView.render();
        return $this.cancel();
      },

    });
  }
};

これは初めて実行したときは問題なく動作しますが、最初のデータを保存した直後にもう一度実行すると、新しいデータは保存されず、最後に保存されたデータが更新されるだけです。最初に保存すると POST リクエストが実行され、次に PUT リクエストが実行されるのはなぜでしょうか?

これが必要かどうかはわかりませんが、ここに私の初期化関数があります-

GroupModalHeaderView.prototype.initialize = function() {
  _.bindAll(this)
}
4

2 に答える 2