私は JS フィドルでこれを行いますが、POST エコーャーを動作させることができないため、ここで例を作成します。someApi
「バー」を返すふりをしましょう
JS / jQuery
$(function() {
$('button').click(function(event) {
getSomeData();
});
function getSomeData() {
$("div").text("Foo = ");
$.get("someApi", function(i) {
$("div").append(i);
});
};
});
HTML
<div></div>
<button>Click Me</button>
ここにはタイプミスがあるかもしれませんが、オンザフライで例を書いているので無視してください。<button>
一度クリックすると、すべてがうまく機能します。AJAX 関数が呼び出され<div>
、応答が来ると が追加されます。応答を待ってもう一度クリックすると、<div>
で上書きされFoo =
てから追加されます。この問題は、ユーザーが入院して複数回クリックし<button>
、複数の AJAX リクエストを生成したときに発生します。これにより、「バー」が複数回追加されてしまいます。複数のリクエストを同じ URL に送信しないようにするための JS / jQuery 内の機能はありますか? 私は私が欲しいという意味ではありませんasync = false
シナリオ; これが機能することはわかっていますが、アプリケーションの速度も低下します。また、bar が既に追加されているかどうかを確認する if ループを追加できることもわかっています。私が求めているのは、適切な JS / jQuery.blockMultipleRequest();
のようなものです。