2

問題:AJAX呼び出しは、一度呼び出されたにもかかわらず、複数回呼び出されます。

機能:ボタンをクリックするだけでAJAX呼び出し(mootools Request.JSON)を行います。最初の呼び出しは完了しますが、開始される呼び出しは複数あります。回数はランダムです。つまり、2回または3回の場合もあります。

この問題は、他のAJAX呼び出しにも存在します。これらの余分な呼び出しを防ぐにはどうすればよいですか?

私はAJAX呼び出しのバインド/バインド解除についてどこかで読みましたが、私をかなり納得させます

ここに画像の説明を入力してください

4

2 に答える 2

3

これは、イベントの伝播/バブリング(ネストされた要素による)が原因であると強く疑っています。

たとえば、私のフィドルを参照してください:http: //jsfiddle.net/FHRv7/1/

すべてのDIVは、クリック時にアラートを表示するように指示されています。AまたはBをクリックすると、3つのアラートが表示されます。これは、文字が含まれているボックスだけでなく、その下に表示される2つのボックスに対してイベントを発生させるためです。

e.stopPropagation();ただし、Cは、jQuery/Javascriptにこれ以上イベントを処理しないように指示するを使用して伝播をキャンセルするように設定されています。

これがお役に立てば幸いです。

Gav

于 2013-01-10T13:30:53.113 に答える
1

ajax呼び出しがトリガーされる理由と場所を見つけてから、このトリガーが起動される理由を見つけて、そのトリガーが複数回起動されないようにします。しかし、あなたのコードがなければ、私たちはそれについてあなたを本当に助けることはできません。

編集

これは役立つかもしれません:http: //api.jquery.com/jQuery.ajaxPrefilter/

リクエストを同時に複数回発生させるという問題に完全に一致する例もあります。

于 2013-01-10T11:50:31.557 に答える