1. 程式人生 > >頁面按鈕防止ajax重複提交

頁面按鈕防止ajax重複提交

這兩天在做一個專案,頁面互動非常多,到處都是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請求。