2012-05-24 15 views
11

私はbackbone.js DELETEリクエストを発行しようとしていますが、コンソールに要求が表示されません。Backbone.js DELETEリクエストが起動しない

私はそうのようなコレクションのモデルがあります:私はこれを実行している私の見解では

var Model = Backbone.Model.extend(
{ 
    urlRoot: '/test', 
    defaults:{} 
}); 

var TableList = Backbone.Collection.extend(
{ 
    url: '/test', 
    model: Model 
}); 

を:

this.model.destroy(); 

すべてが正常動作しているように見える、私は出力がremove関数から来るのを見ることができます私はそれがそこに来ていることを知っているので、それはまた私が持っているunrenderメソッドを正常に実行します。しかし、何人かの要求が切断されたのを見ることはできませんか?

答えて

4

解決策はまだありませんが、私の問題で問題が見つかりました。私はこれがバックボーンのバグかどうかはわかりませんが、ajaxSetupajaxPrefilterを使っています。コメントしてみるとうまくいった。私はそれをajaxSetupメソッドに絞り込み、具体的にはdataパラメータを使用していくつかの値をプリセットしました。

+0

うれしい... – jcreamer898

+0

誰かがFirefoxではなく、Chromeでは「削除要求なし」の問題を抱えている場合は、これがあなたの問題である可能性が高いです。 'ajaxSetup'から' data:{} 'を削除した後は、すべて問題ありませんでした。ありがとう、あなたは私の一日を作った。 –

1

成功とエラーのコールバックを試しましたか?

this.model.destroy({ 
    success : _.bind(function(model, response) { 
        ...some code 
       }, this), 
    error : _.bind(function(model, response) { 
        ...some code 
       }, this); 
}); 

DELETEリクエストが表示されない場合は、参考になるかもしれません。

+1

これは私の成功コールバックをトリガーしますが、依然としてサーバーへの要求はありません。それは非常に奇妙です、私はそれがちょうど箱から仕事をすることになっていたと思った、それは私がこれのためにいくつかの種類のフックを欠いているようです。 – Rob

+0

あなたは正しいことをしているように見えます。あなたのページをリフレッシュする場合、変更は固執しますか?また、コードが実際にjquery ajax呼び出しに到達していることを確認しましたか?私はこの行動を自分では見たことがないので、少し奇妙です。 –

+0

コールバックで再生した後に、エラーコールバックの何らかの応答が表示されています。response.statusText - "[Exception ..."コンポーネントがエラーコードを返しました:0x80460001(NS_ERROR_CANNOT_CONVERT_DATA) "nsresult:" 0x80460001(NS_ERROR_CANNOT_CONVERT_DATA) "location:" JSフレーム:: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js :: ::行4 "データ:いいえ" " - 明らかにURLが形成されていない正しく、使用しようとしているURLを表示するにはどうしてですか? – Rob

12

私が間違っていない場合は、正しいURLにヒットするように、モデルにidプロパティを設定する必要があります。 IEモデルとなった場合...

var Model = Backbone.Model.extend({ 
    url: '/some/url' 
}); 

var model = new Model({ 
    id: 1 
}); 
model.destroy(); // I THINK it will now try and DELETE to /some/url/1 

IDなしで、それが正しくURLを構築する方法を知らない、一般的には、モデルを取得、または新しいものを作成し、それを保存したい、あなたは」 dはURLを持っています...

これが役立つかどうかを確認してください。

+0

これはidが設定されていますが、this.modelを出力すると表示されます。 – Rob

+0

あなたのモデルで 'urlRoot: '/ some/url''を試してみてください...もしうまくいけば教えてください... – jcreamer898

+0

私はurlとurlRootの両方を設定しましたが、何もありません。火かき棒でのリクエストを見なければならないのですか、まったく何か不足していますか? – Rob

関連する問題