浏览器调试 Network Console 保留历史日志和网络请求 Preserve log

本文探讨了在使用React进行前端开发时,遇到的通过window.location更改URL导致页面跳转前后信息丢失的问题,并介绍了如何利用Preserve Log功能保留跳转前的控制台日志及网络请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景

今天调试一个前端React应用,里面用到了window.location.xxx = "xxx"这样的方式去改变URL,效果类似于页面跳转/刷新。

当页面跳转后,跳转前的控制台日志、网络请求都会“消失”。
但问题是:我要定位的问题必须依赖于页面跳转前的一些信息,才能做出判断。

所以,如何保留页面跳转前的控制台日志、网络请求
启用Preserve log开关可以做到。

  • 保留历史网络请求

在这里插入图片描述

  • 保留历史的控制台日志

在这里插入图片描述

  • 其他

浏览器环境下的Debug(我目前还不会用,2021-3-10 22:06:52)

<think>好的,用户现在问的是怎么看网络请求状态码。之前用户遇到了页面空白的问题,我之前已经给了他们一些排查步骤,其中提到了检查网络请求状态码。现在用户可能是在按照之前的指导进行操作时,发现需要进一步了解如何查看这些状态码,所以才会提出这个问题。 首先,我需要确定用户的使用场景。他们可能是在开发一个网站或者web应用,遇到了问题,比如页面空白,然后按照之前的建议打开了浏览器的开发者工具,但不知道如何具体查看状态码。用户可能是开发者,或者至少有一定技术背景,但可能对前端调试工具不太熟悉。 接下来,用户的真实需求是学会如何查看网络请求的状态码,以便诊断问题。比如,他们可能需要区分是500服务器错误还是404未找到,或者是200但内容空白的情况。深层需求可能还包括理解不同状态码的含义,以便更快地定位问题所在。 然后,我需要考虑如何组织信息。应该分步骤说明如何在主流浏览器中打开开发者工具,找到网络请求列表,并查看状态码。同时,还需要解释常见的状态码类别,比如1xx到5xx,以及具体的常见状态码如200、404、500等,这样用户不仅能查看,还能理解这些代码的意义。 另外,用户可能还需要知道如何利用这些状态码进行问题排查,比如状态码500意味着服务器内部错误,需要检查服务器日志;404说明资源不存在,需要检查路径是否正确;304涉及缓存问题等等。此外,高级技巧如查看响应内容、请求头信息也是有用的,但需要根据用户的接受程度来决定是否深入。 要注意避免使用过于专业的术语,保持解释的简洁易懂。同时,可能需要提醒用户注意缓存的影响,比如勾选“禁用缓存”选项,以便获取实时的请求信息。最后,提供一些实际案例,比如用户在之前遇到的空白页面问题中,如何通过状态码来缩小问题范围,这样能帮助他们更好地应用所学知识。</think>### **网络请求状态码查看指南(逐步解析版)** --- #### **一、基础查看方法(所有浏览器通用)** 1. **打开开发者工具** - Windows/Linux:`F12` 或 `Ctrl+Shift+I` - Mac:`Command+Option+I` - 移动端:Chrome浏览器输入`chrome://inspect`连接设备 2. **定位网络请求面板** - 选择`Network`标签(中文界面显示为**网络**) - 勾选`Preserve log`(保留请求记录) 3. **触发页面刷新** - 按`F5`或`Ctrl+R`(Mac为`Command+R`) - 观察请求列表实时加载 4. **关键列说明** | 列名 | 作用 | 典型值示例 | |---------------|--------------------------------|-------------------------| | Status | **状态码**(核心关注点) | 200, 404, 500 | | Type | 请求类型 | document, xhr, css | | Initiator | 请求发起源 | 点击按钮触发的具体位置 | | Size | 资源体积 | 1.5MB, 35KB | --- ### **二、状态码类型速查表** #### **1. 成功类(2xx)** | 状态码 | 含义 | 典型场景 | 排查重点 | |--------|-----------------------|--------------------------|--------------------------| | 200 | 请求成功 | 正常加载HTML/CSS/JS | 检查响应内容是否正确 | | 204 | 无内容 | AJAX提交表单无返回 | 确认后端是否缺少输出 | #### **2. 重定向类(3xx)** | 状态码 | 含义 | 典型场景 | 排查重点 | |--------|-----------------------|--------------------------|--------------------------| | 301 | 永久重定向 | 网站改版后旧链接跳转 | 检查`.htaccess`配置 | | 302 | 临时重定向 | 登录后跳回原页面 | 验证session是否正确设置 | | 304 | 未修改(缓存生效) | 浏览器使用缓存版本 | 强制刷新`Ctrl+F5`解除缓存| #### **3. 客户端错误(4xx)** | 状态码 | 含义 | 典型场景 | 排查重点 | |--------|-----------------------|--------------------------|--------------------------| | 400 | 错误请求 | 表单字段格式错误 | 检查POST/GET参数完整性 | | 401 | 未授权 | 访问需要登录的页面 | 验证cookie/token有效性 | | 403 | 禁止访问 | 无权限查看服务器文件 | 检查文件权限`chmod 755` | | 404 | 未找到 | 图片/CSS路径错误 | 核对URL大小写路径层级 | #### **4. 服务端错误(5xx)** | 状态码 | 含义 | 典型场景 | 排查重点 | |--------|-----------------------|--------------------------|--------------------------| | 500 | 内部服务器错误 | PHP语法错误/数据库崩溃 | 查看服务器错误日志 | | 502 | 网关错误 | Nginx连接PHP-FPM失败 | 检查fastcgi进程是否存活 | | 504 | 网关超时 | 后端响应超过设定时间 | 优化SQL查询或增加超时时间| --- ### **三、实战诊断技巧** #### **案例1:页面部分空白** - **操作流程**: 1. 发现页面加载不完整 2. 在Network面板筛选`CSS/JS`类型请求 3. 检查是否有`404`状态的资源请求 4. 核对`Sources`面板确认路径是否正确 #### **案例2:AJAX请求失败** ```javascript // 前端代码示例 fetch('/api/getData') .then(response => { if (!response.ok) { console.log(`HTTP错误!状态码:${response.status}`); // 此处捕获状态码 } return response.json(); }) ``` - **排查步骤**: 1. 在Network面板找到对应的`XHR`请求 2. 查看`Status`列是否为`401/500` 3. 点击请求查看`Response`具体内容 --- ### **四、高级调试工具** #### **1. cURL命令验证(脱离浏览器)** ```bash # 获取完整响应头(显示状态码) curl -I https://example.com/api # 结果示例 HTTP/2 404 server: nginx content-type: application/json ``` #### **2. Postman测试** - 设置请求头`User-Agent: Mozilla/5.0`模拟浏览器 - 查看`Status Code``Response Time` #### **3. 浏览器扩展推荐** - **Live HTTP Headers**(实时监控请求) - **HTTP Status Code**(快速解读状态码) --- ### **五、常见误区提醒** 1. **304≠错误**:表示浏览器使用缓存资源,实际未发送请求 2. **200但内容异常**:可能返回了错误HTML(如PHP报错被抑制) 3. **跨域请求显示200**:实际可能因CORS策略被浏览器拦截 --- 通过系统化观察状态码,可快速定位问题层级:`4xx`说明客户端配置问题,`5xx`则需要检查服务器环境。建议结合浏览器控制台(Console)的报错信息进行交叉验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值