頁面按鈕防止ajax重複提交
阿新 • • 發佈:2019-02-08
這兩天在做一個專案,頁面互動非常多,到處都是ajax,測試時發現點選按鈕是很有可能重複請求ajax,看網上說加鎖的方法,不過我也有一個方法,不知道別人用過沒,廢話不說,我用了CSS中的pointer-events屬性,直接上JS程式碼吧;
` var formyAjax = false;
function formy(self) {
$(".getyaoshi").css("pointer-events", "none");
console.log("getyaoshi");
if (formyAjax){
formyAjax.abort()
}
formyAjax = $.post('請求的url' , {
'type': '1'
},
function(res) {
console.log(res);
if(res.s==200){
$(".getyaoshi").css("pointer-events", "auto");
onsole.log("200");
}
}, 'json');
}`
這段程式碼原理是進行請求時先用css將請求按鈕點選效果禁用,請求完後再將修改pointer-events的屬性為auto,這樣就可以防止因按鈕多次點選引起多次ajax請求。