0

Backbone.js モデルを使用してデータをサーバーと同期しようとしました。ただし、保存方法は機能しません。誰でも理由を見つけるのを手伝ってくれますか?

次のコードは機能します (バックボーン モデルを使用していません)。

var newComment = {
    user: user,
    createdDate: date,
    content: text
  }

  //TODO send ajax post request to record the data

  $.ajax({
    url: "comment.php",
    context: document.body,
    data: newComment,
    type: 'POST'
  }).done(function(resp) {
    console.log("resp", resp);
  });

コードが機能しない:

var Comment = Backbone.Model.extend({
     urlRoot: 'comment.php'
  });

var comment = new Comment();
comment.save({content: text, dsm_line_item_id: "49934380"}, {
    succcess: function(model, resp, opt) {
          console.log("successfully saved" + resp);
        },
    error: function(model, resp, opt) {
          console.log("error", resp);
        }
    })
4

2 に答える 2

3
succcess: function(model, resp, opt) {

これはタイプミスですか

察するに success: function(model, resp, opt) {

于 2013-05-09T05:11:23.740 に答える
0

これは推測ですが、これが答えかもしれないと思います。Backboneは、Backbone がモデルの読み取りまたはサーバーへの保存に使用する関数にsave委任します。Backbone.sync

バックボーンは POST、GET、DELETE、および PUT を使用します。しかし、一部のサーバーは PUT と DELETE に問題があります。サーバーの PUT に問題があり、それが原因でコードが機能していない可能性があります。

で試すことができBackbone.emulateHTTP = true;ます。このオプションを使用すると、Backbone の RESTful アプローチをサポートしていないレガシー Web サーバーを操作できます。PUT と DELETE は、同期中に POST に置き換えられます。

于 2013-05-08T21:23:26.503 に答える