0
我正在使用jQuery將表單中的數據提交給我的控制器文件。如何在Ajax中防止過於頻繁的請求
這是一個最喜歡的片斷添加到數據庫,但是,如何防止用戶發送數據導致ajax腳本太頻繁?
我的意思是,我可以在我的表單上點擊提交按鈕數千次 - 如何防止?因此,例如,每10秒一次請求?
我正在使用jQuery將表單中的數據提交給我的控制器文件。如何在Ajax中防止過於頻繁的請求
這是一個最喜歡的片斷添加到數據庫,但是,如何防止用戶發送數據導致ajax腳本太頻繁?
我的意思是,我可以在我的表單上點擊提交按鈕數千次 - 如何防止?因此,例如,每10秒一次請求?
剛剛送走我的頭頂,我想說的是這樣的:
$("#button_id").one('click', DoSomething); // attaches the function for ONE click
function DoSomething() {
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
$("#button_id").delay(10000).one('click', DoSomething); // reattach the listener
});
}
資料來源this question複製和jQuery manual
你將不得不阻止該文件中被調用,因爲什麼AJAX這只是一個簡單的請求,您也可以通過在地址欄中輸入URL來調用該請求。您可以在被調用的文件中進行簡單的IP或cookie檢查。 – 2012-04-14 15:46:20
您可以在點擊按鈕時禁用按鈕,並且當您收到AJAX響應時,添加延遲迴調函數以重新啓用它。 – Andy 2012-04-14 15:49:43
@Andy你可以發表一個它應該是什麼樣子的例子嗎? – Lucas 2012-04-14 15:50:09