3

jquery_ujsを使用して簡単なPOSTリクエストを送信しています。コールバック関数を「ajax:success」イベントにバインドしました。ただし、このコールバックは、成功した投稿ごとに2回呼び出されます。

これがこの他の質問に似ていることは知っていますが、ソースを確認したところ、jquery_ujs.jsファイルが2回ロードされていないようです(多くの回答で示唆されています)。

    $(".new_item").bind("ajax:success", 
    function(xhr, data, status) 
    {
                 /* this is called twice for each call!*/
    }

誰かがポインタを持っていますか?ありがとう!

4

1 に答える 1

16

数少ないことの 1 つが起こっています。

.new_item クラスを持つ複数の要素があるか

alert($(".new_item").length);

ajaxリクエストを2回送信しています

alert("Sending Request");
$.ajax(...

または、イベントを2回バインドしています

alert("Binding Event");
$(".new_item").bind("ajax:success", function(xhr, data, status) {

注: 最新のブラウザーを使用している場合は、アラートを console.log() に置き換えます。

于 2012-10-22T19:05:02.953 に答える