鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ angular攔截器攔截ajax請求

angular攔截器攔截ajax請求

公司項目 用得是angularJS,同時在項目中還用到了一些jquery插件,如bootstrap table,這些自帶ajax請求的插件?,F(xiàn)在前端要做攔截器對http請求做統(tǒng)一處理,請問下,如何才能在angular攔截器中,攔截這些jquery請求?

回答
編輯回答
尐飯團(tuán)

monkey patchXMLHttpRequest 對象的原型方法吧,因為請求庫不管怎么封裝,一般內(nèi)部還是XMLHttpRequest,有的可能也用現(xiàn)代瀏覽器的fetch,比如:

(function(send) {

    XMLHttpRequest.prototype.send = function(data) {

        // do something...

        send.call(this, data);
    };

})(XMLHttpRequest.prototype.send);

如果要這么做的話,注意性能問題。

2017年6月28日 02:47
編輯回答
傲嬌范

去開源中國看看有類似的文章!

2018年7月27日 01:08
編輯回答
大濕胸

除了重置原型這種方式外,還有另一種方式。
通過angularjQuery自帶的方式進(jìn)行處理, 再將處理方法進(jìn)行復(fù)用。

angular 配置攔截器的方法為 $httpProvider.interceptors
jQuery 配置攔截器的方法為 jQuery.ajaxSetup

可以將這兩項配置同一個攔截器方法,以達(dá)到修改一處攔截器。全部請求都會生效。

還有看到了題主得到了bootstrap table, 自薦個表格組件 GridManager

2017年10月3日 00:46