在 chrome devtools 的 network 面板勾选 preserve log,过滤 xhr/fetch,点击请求后在 response 或 preview 标签页查看 ajax 响应内容,右键 copy response 粘贴至 vs code 即可。

Chrome DevTools 里怎么找到 AJAX 请求的响应内容
VS Code 本身不抓网络请求,真正干活的是浏览器开发者工具。你得先在 Chrome(或其他 Chromium 内核浏览器)里定位到那个 AJAX 请求,再决定要不要导出或复制它。
常见错误现象:Network 面板打开后没看到请求、点了按钮却没刷新列表、XHR 标签下空空如也——大概率是没点开 Preserve log,或者请求发完就跳转/刷新页面导致记录被清空。
- 打开 Chrome,按
F12或Cmd+Option+I(Mac)调出 DevTools - 切到
Network标签页,勾选Preserve log(防止页面跳转后丢失记录) - 在过滤栏输入
XHR或Fetch,让面板只显示异步请求 - 触发你要调试的操作(比如点击“加载更多”),等请求完成
- 点击左侧列表中的目标请求,在右侧看
Response或Preview标签页——这就是你要的 AJAX 返回内容
怎么把 AJAX 响应保存成文件(JSON / TXT)
Chrome 不提供“另存为响应体”的按钮,但有几种轻量、不依赖插件的方式,适合快速落地。
使用场景:接口返回结构化数据,你想拿去 VS Code 里格式化、查字段、写 mock 数据,或传给同事复现问题。
- 在
Response标签页右键 →Copy response(注意不是Copy as cURL) - 粘贴到 VS Code 新建的
data.json文件里,用Ctrl+Shift+P→Format Document自动美化(需启用 JSON 支持) - 如果响应是纯文本(比如 CSV、XML),右键选
Save as…会直接下载原始响应体(Chrome 119+ 支持,旧版不行) - 别用
Copy as fetch后手动执行——容易漏 headers 或 credentials,和原请求行为不一致
为什么在 VS Code 里看不到实时 AJAX 数据
VS Code 是编辑器,不是运行环境,也不注入任何网络监听逻辑。它对浏览器里的 fetch、XMLHttpRequest 完全无感。
性能 / 兼容性影响:有人装 “REST Client” 插件想模拟请求,但这和前端实际发出的请求无关——它不走页面上下文,没 cookie、没 Referer、没 Service Worker 拦截,结果可能完全不同。
- 不要指望 VS Code 插件能替代浏览器 Network 面板
- 如果要调试请求发起逻辑,直接在源码里打
debugger或加console.log,然后在 Sources 面板里断点 - 需要重放请求?用
Copy as cURL→ 粘贴到终端或 REST Client 插件里,但记得删掉敏感 header(比如Cookie字段过长时会被截断)
遇到 gzip 压缩响应打不开怎么办
Chrome 默认自动解压 Content-Encoding: gzip,你在 Response 标签页看到的就是明文。但如果右键 Copy response 后粘贴出来是乱码,说明响应头里缺 Content-Type,或者服务器返回了二进制但没声明编码。
- 先确认
Response标签页是否能正常显示内容——能显示,说明解压成功;不能显示,才可能是压缩/编码问题 - 检查响应头里的
Content-Type,如果是application/json却显示为二进制,右键该请求 →Open in Sources panel,再右键 →Save as…保存为文件,用 VS Code 以 UTF-8 重新打开 - 别手动解压 base64 或 hex 编码内容——除非你明确知道服务器做了额外编码,否则大概率是误判
最常被忽略的一点:有些接口返回 204 No Content 或重定向(302),这时 Response 是空的,但你还在找“数据在哪”。先看状态码,再决定要不要追 Redirect 链。










