2012-11-28 15 views
5

コレクションに新しいモデルを作成する次のコードがあります。基礎となるデータストアは、リモートAPIです:バックボーンmodel.createコールバックを呼び出さない

 var postCreationStatus = this.model.create(newPostModel, { 
      wait : true  // waits for server to respond with 200 before adding newly created model to collection 
     }, { 
      success : function(resp){ 
       console.log('success callback'); 
       console.log(resp); 
      }, 
      error : function(err) { 
       console.log('error callback'); 
       console.log(err); 
      } 
     }); 

新しいモデルが作成されます、と私は、データベースからこれを確認することができますが、成功でもエラーでもないのコールバックが呼び出されます。

作成が完了したら、ユーザーをリダイレクトします。途中でリダイレクトするとAJAXリクエストが抹消されるため、成功コールバックを使用することが重要です。

サーバーは、JSON応答{ id : 11 }とHTTPステータスが200 OKで応答します。

+1

このタイトルは間違っていますが、この質問はコレクションに関するものではありません –

答えて

6

バックボーンコードを調べると、私はcreate()機能への私の呼び出しが間違っていたことを認識しました。成功とエラーのコールバックは、オブジェクト内で第2引数として渡され、第3引数として渡される必要はありませんでした。変更された作業スニペットは次のとおりです。

var postCreationStatus = this.model.create(newPostModel, { 
    wait : true, // waits for server to respond with 200 before adding newly created model to collection 

    success : function(resp){ 
     console.log('success callback'); 
     console.log(resp); 
     that.redirectHomePage(); 
    }, 
    error : function(err) { 
     console.log('error callback'); 
     // this error message for dev only 
     alert('There was an error. See console for details'); 
     console.log(err); 
    } 
}); 
関連する問題