# 解决登录问题 - 清除浏览器缓存 ## 🔴 问题现象 错误信息显示: ``` Access to fetch at 'http://localhost:8002/api/admin/login' from origin 'http://127.0.0.1:8002' ``` **问题分析**: - 请求URL错误:`http://localhost:8002/api/admin/login`(应该是8001端口) - 说明浏览器加载了旧版本的 `api.js` 文件(缓存问题) ## ✅ 解决方案 ### 方法1: 强制刷新浏览器缓存(推荐) 1. **打开登录页面** 2. **按 `Ctrl + Shift + R`** (Windows/Linux) 或 **`Cmd + Shift + R`** (Mac) - 这会强制刷新页面并清除缓存 3. **或者按 `F12` 打开开发者工具**: - 右键点击刷新按钮 - 选择"清空缓存并硬性重新加载" ### 方法2: 清除浏览器缓存 1. **Chrome浏览器**: - 按 `F12` 打开开发者工具 - 右键点击刷新按钮 - 选择"清空缓存并硬性重新加载" - 或者:设置 -> 隐私设置和安全性 -> 清除浏览数据 -> 选择"缓存的图片和文件" 2. **Edge浏览器**: - 按 `F12` 打开开发者工具 - 右键点击刷新按钮 - 选择"清空缓存并硬性重新加载" ### 方法3: 使用无痕模式 1. 打开浏览器的无痕/隐私模式 2. 访问登录页面:`http://localhost:8002/pages/login.html` 3. 测试登录功能 ### 方法4: 检查浏览器控制台 1. 按 `F12` 打开开发者工具 2. 查看 Console 标签 3. 应该看到:`API Base URL: http://localhost:8001` 4. 如果看到的是 `http://localhost:8002`,说明缓存未清除 ### 方法5: 验证文件内容 1. 在浏览器中直接访问: ``` http://localhost:8002/utils/api.js ``` 2. 查看文件内容,确认 `BASE_URL` 是否为 `http://localhost:8001` 3. 如果仍然是旧值,说明前端服务需要重启 ## 🔍 验证步骤 清除缓存后,按以下步骤验证: 1. **打开浏览器控制台** (`F12`) 2. **查看 Console 输出**: ``` API Base URL: http://localhost:8001 ``` 3. **尝试登录** 4. **查看 Network 标签**: - 请求URL应该是:`http://localhost:8001/api/admin/login` - 不应该看到 `http://localhost:8002/api/admin/login` ## 🚀 如果还是不行 ### 步骤1: 重启前端服务 ```bash # 停止当前前端服务(Ctrl+C) # 重新启动 cd book/book-admin npm run dev ``` ### 步骤2: 检查文件内容 确认 `book/book-admin/src/main/resources/static/utils/api.js` 文件中的 `BASE_URL` 为: ```javascript const BASE_URL = 'http://localhost:8001' ``` ### 步骤3: 检查后端服务 确认后端服务在8001端口运行: ```bash netstat -ano | findstr :8001 ``` 应该看到: ``` TCP 0.0.0.0:8001 0.0.0.0:0 LISTENING <进程ID> ``` ## 📝 完整测试流程 1. ✅ 清除浏览器缓存(`Ctrl + Shift + R`) 2. ✅ 打开登录页面:`http://localhost:8002/pages/login.html` 3. ✅ 打开浏览器控制台(`F12`) 4. ✅ 查看 Console,确认看到:`API Base URL: http://localhost:8001` 5. ✅ 输入用户名和密码 6. ✅ 点击登录 7. ✅ 查看 Network 标签,确认请求URL为:`http://localhost:8001/api/admin/login` 8. ✅ 查看响应,应该返回登录成功或错误信息 ## 🎯 预期结果 清除缓存后: - ✅ Console 显示:`API Base URL: http://localhost:8001` - ✅ Network 请求URL:`http://localhost:8001/api/admin/login` - ✅ 请求方法:`POST` - ✅ 状态码:`200`(登录成功)或 `500`(用户名密码错误) - ✅ 响应内容:包含 `code` 和 `data` 字段的JSON 如果仍然有问题,请提供: 1. 浏览器控制台的完整错误信息 2. Network 标签中登录请求的详细信息 3. Console 中显示的 `API Base URL` 值