油猴:ajaxhook 拦截和修改 AJAX 请求

ajaxhook.min.js 是一个用于拦截和修改 AJAX 请求的 JavaScript 库。

它可以在不修改原始代码的情况下,对 AJAX 请求进行全局的拦截和处理。

github地址:https://github.com/wendux/Ajax-hook

1. 首先,在(油猴)脚本中引入 ajaxhook.min.js 库文件:

// @require      https://unpkg.com/ajax-hook@3.0.3/dist/ajaxhook.min.js

2. 接下来,你可以使用 ah 对象的 proxy 方法来拦截 AJAX 请求:

ah.proxy({
        //请求发起前进入
        onRequest: (config, handler) => {
            if(config.method == 'POST'){

                console.warn(config,config.url)
            }
            else{

                console.log(config,config.url)
            }
            // config.url="https://www.baidu.com"
            handler.next(config);
        },
        //请求发生错误时进入,比如超时;注意,不包括http状态码错误,如404仍然会认为请求成功
        onError: (err, handler) => {
            console.log(err.type)
            handler.next(err)
        },
        //请求成功后进入
        onResponse: (response, handler) => {
            console.log(response.response)
            handler.next(response)
        }
    })

通过proxy 方法,你可以在请求发送前、请求成功后、请求失败后等不同的阶段对请求进行拦截和处理。

更多资料可看文档:

https://gitcode.com/mirrors/wendux/ajax-hook/overview

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享