js请求结果拦截机器_写了一个chrome插件:拦截ajax请求并修改返回结果
这个插件可以拦截页面上的 ajax 请求,并把返回结果替换成任意文本。它对 mock 数据、排查一些线上问题等会有很大帮助。(当然 chales 等抓包软件也可以做到,然而使用起来比较繁琐,做成 chrome 插件的形式会方便许多)
以下是使用效果,通过修改 ajax 请求结果,我把第一条文章标题替换成了“这标题特调皮(Σ(゚д゚lll)句内三押×2)”:
(不瞒你们说,其实我是个rapper σ`∀´)σ (不
注意建议第一次安装完重启浏览器,或者刷新你需要使用的页面
当你不需要使用该插件时,建议把开关关上,以免对页面正常浏览造成影响
3. 该插件只会在JS层面上对返回结果进行修改,即只会修改全局的XMLHTTPRequest对象和fetch方法里的返回值,进而影响页面展现。而你在chrome的devtools的network里看到的请求返回结果不会有任何变化
大致原理
页面加载时往页面上注入 js 代码,这段 js 会生成一个 XMLHttpRequest 的代理对象,并把 window.XMLHttpRequest 替换成这个对象。该对象又会对 onreadystatechange 和 onload 两个回调函数做特殊处理,把 responseText 和 response 的值覆盖为你设置的值。fetch的实现稍微复杂些。这里都不细说了。项目源码在这里:https://github.com/YGYOOO/ajax-interceptor
本人不定期写点可能有营养的文章,欢迎关注 σ`∀´)σ
---------------------更新-------------------
新版本支持JSON查看和编辑功能,应该方便不少:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)