Jquery實現AJAX攔截


  前幾天項目需要實現一個AJAX攔截,於是就用jquery寫了一個,這里分享一下。

 

  需求是這樣的,ajax不是我來寫,所有說我是不能動ajax的,並且我也不知道什么時候它會發生,為了方便項目經理讓我把它封裝成一個插件,使用的時候只要給對應的元素加一個自定義屬性就可以使用。

 

  其實項目就是不想讓用戶多次點擊,如果發送出去的還沒有響應就顯示一個正在加載。

  

  如果用原生JS寫,還是有些麻煩的,必須重寫AJAX,這樣我就用jquery了,因為它有這個功能。

ajaxStart:在發送ajax的時候會調用這個函數,我們可以在這里面寫loading。

ajaxStop:ajax結束。

 

其實這還算簡單,但是項目還有另外一個要求,就是有些是主動發送的ajax請求,這種是不能去攔截的,只攔截用戶發送的,所有我給目標元素添加了一個自定義屬性。

如果沒有加data-set這個自定義屬性就不行了

event.target可以獲取點擊的那個元素,注意不能再function(event)這里面傳這個,不然就成了jquery事件了。dataset可以獲取自定義屬性。

對了這里加了一句if(!event)是因為我們主動發送的ajax是沒有event.target所以的過濾一下,不然就報錯了。

ok了,具體的功能把console.log這句話替換就好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM