jQuery1.5 以后,Ajax 模塊提供了三個新的方法用于管理、擴展 Ajax 請求,分別是:
前置過濾器 jQuery. ajaxPrefilter 請求分發器 jQuery. ajaxTransport, 類型轉換器 ajaxConvert
為什么會出現這幾個新的概念?因為 ajax 在發送的過程還有很多一系列的處理。
具體看看代碼:
jQuery.extend({ //前置過濾器 ajaxPrefilter: addToPrefiltersOrTransports(prefilters), //請求分發器 ajaxTransport: addToPrefiltersOrTransports(transports), });
其實說白了就是把對應的方法制作成函數的形式填充到 prefilters 或者 transports對應的處理包裝對象中,用的時候直接執行,每個函數都保持著各自的引用,種寫法的好處自然是靈活,易維護,減少代碼量。
所以此時的 prefilters 中的結構可以是這樣。
prefilters = { '*': function() { return { send: function() { }, callback: function() { } } } }
前置過濾器和請求分發器在執行時,分別遍歷內部變量 prefilters 和 transports,這兩個變量在 jQuery 加載完畢后立即初始化,從過閉包的方法填充這個 2 個對象。
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報