关于前端访问浏览器报错的小坑

以下是前端开发中,浏览器访问页面时经常遇到的报错小坑,以及常见原因和解决办法(2025年视角,基于当前主流浏览器 Chrome / Edge / Firefox / Safari):

1. ERR_CONNECTION_REFUSED / 无法连接到服务器

现象浏览器显示“无法访问此网站”或“ERR_CONNECTION_REFUSED”

常见原因

  • 本地开发服务器没启动(npm run devyarn devvitenext dev 等没跑)
  • 端口被占用
  • 防火墙拦截了端口
  • 访问了错误的地址(比如写成 http://localhost:3000 但服务跑在 5173)

解决

  • 确认开发服务器是否在运行
  • 检查终端输出端口号(Vite 默认 5173,Create React App 默认 3000,Next.js 默认 3000)
  • netstat -ano | findstr :5173(Windows)或 lsof -i :5173(Mac/Linux)查看端口占用
  • 换个端口启动:npm run dev -- --port 8888

2. ERR_EMPTY_RESPONSE / 页面一直加载不出来

现象:浏览器转圈圈很久,最终报“ERR_EMPTY_RESPONSE”

常见原因

  • 后端接口响应太慢或挂了(前端在等 fetch/axios 超时)
  • 服务器端 CORS 配置错误,导致预检请求(OPTIONS)没响应
  • 本地代理配置错误(vite.config.js / next.config.js)

解决

  • 检查 Network 面板,看是否有长时间 pending 的请求
  • 确认后端服务是否正常(用 Postman 测试)

检查 CORS:后端要允许前端域名 + 方法 + 头

// Vite proxy 示例server:{proxy:{'/api':{target:'http://localhost:8080',changeOrigin:true,rewrite:(path)=> path.replace(/^\/api/,'')}}}

3. Blocked by CORS policy

现象:控制台报:

Access to fetch at 'http://xxx' from origin 'http://localhost:5173' has been blocked by CORS policy... 

常见原因

  • 后端没有返回正确的 CORS 头
  • 请求方法/头未被允许(常见于 PUT/DELETE 或自定义 header)

解决

  • 开发阶段:用代理(推荐)——vite/proxy、webpack-dev-server proxy、Next.js rewrites

生产环境:后端设置 CORS 响应头(推荐)

// Spring Boot 示例@BeanpublicCorsFiltercorsFilter(){CorsConfiguration config =newCorsConfiguration(); config.addAllowedOriginPattern("*");// 或具体域名 config.addAllowedMethod("*"); config.addAllowedHeader("*"); config.setAllowCredentials(true);UrlBasedCorsConfigurationSource source =newUrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", config);returnnewCorsFilter(source);}

4. Mixed Content(混合内容)

现象:https 页面加载 http 资源被浏览器阻止

常见原因

  • 页面是 https,但请求了 http 的接口/图片/脚本

解决

  • 所有资源统一使用 https
  • 开发环境可临时用 http:// + 浏览器允许不安全内容
  • 生产环境强制 https(Nginx/Cloudflare 设置 HSTS)

5. net::ERR_CERT_AUTHORITY_INVALID / 证书不受信任

现象:自签名证书或 localhost https 访问报错

解决

  • Chrome/Edge:访问 chrome://flags/#allow-insecure-localhost → 启用
  • 生产环境:用免费证书(Let’s Encrypt / Cloudflare)

开发环境推荐用 mkcert 生成本地受信任证书

# 安装 mkcert(Windows/Mac/Linux 都支持) brew install mkcert # Mac# 或 Windows 用 Chocolatey: choco install mkcert mkcert -install mkcert localhost 

6. Failed to load module script / MIME type

现象

The resource from “http://localhost:5173/src/main.js” was blocked due to MIME type (“text/html”) mismatch... 

常见原因

  • Vite/React/Vue 项目路径配置错误
  • 部署时没有正确配置静态文件服务

解决

后端/Nginx 正确设置 MIME 类型

types { application/javascript js mjs; } 

确认 base 配置(Vite/Vue CLI)

// vite.config.jsbase:'/my-app/'// 如果部署在子目录

7. Blocked autoplay / 自动播放被阻止

现象:视频/音频无法自动播放

解决

  • 必须有用户交互(点击)后才能播放

设置 muted 属性(静音视频允许自动播放)

<videoautoplaymutedloopplaysinline>

8. 其他高频小坑

报错关键词常见原因快速定位方法
404 Not Found路由/资源路径写错检查 Network 面板请求路径
500 Internal Server Error后端接口报错查看后端日志
Script error跨域脚本加载失败检查是否开启了 CORS
net::ERR_ABORTED 404打包后路径错误检查 publicPath / base 配置
Unsafe attempt to load…本地 file:// 协议加载资源必须通过 http://localhost 访问

总结:遇到浏览器报错的排查顺序(推荐)

  1. 打开 开发者工具(F12) → Network 面板:看请求状态码、响应内容
  2. 查看 Console:是否有 CORS、MIME、CSP 等明显报错
  3. 确认服务器是否真的在运行(端口、进程)
  4. 检查地址栏协议(http/https)和端口是否正确
  5. 尝试无痕模式(排除缓存/插件干扰)
  6. Postman/cURL 测试后端接口是否正常

如果还有具体的报错信息(完整报错文本 + 截图),贴出来我可以帮你更精准地定位~ 😄

Read more

【MySQL】从零开始学习MySQL:基础与安装指南

【MySQL】从零开始学习MySQL:基础与安装指南

MySQL作为世界上最受欢迎的关系型数据库之一,在电商、SNS、论坛等场景中应用广泛。作为学计算机的,数据库的水平是衡量一个程序员水平的重要指标需要掌握MySQL。本文 将以Linux下的MySQL,从基础概念出发,完成MySQL安装。 一、MySQL基础认知:为什么选择它? 1.1什么是数据库? 简单来说,数据库是高效管理数据的工具。相比文件存储,它解决了四大问题: * 安全性:避免文件被随意修改或删除 * 易管理:支持快速查询、筛选和统计 * 可扩展:轻松应对海量数据存储 * 易集成:便于在程序中调用和操作 数据库的存储介质包括磁盘(持久化)和内存(临时缓存) 1.2主流数据库对比 选择数据库时,需根据项目规模和需求判断: * SQL Sever:微软产品,适合.NET程序员的最爱,中大型项目 * Oracle:甲骨文旗下,适合复杂业务逻辑的大型项目,但并发性能不如Mysql; * MySQL:开源免费,并发性能优秀,适合电商、

By Ne0inhk
【MySQL数据库基础】(六)MySQL 表的约束详解:从基础到实战,拿捏数据合法性!

【MySQL数据库基础】(六)MySQL 表的约束详解:从基础到实战,拿捏数据合法性!

前言         在 MySQL 数据库开发中,我们总希望存入表中的数据是合法、规范、符合业务逻辑的。虽然数据类型能对字段做基础限制,但面对复杂的业务需求,仅靠数据类型远远不够。比如要求邮箱唯一、用户名不能为空、学生的班级必须是已存在的班级…… 这些需求都需要靠表的约束来实现。         表的约束是数据库保证数据完整性的核心手段,它能从业务逻辑层面过滤无效数据,避免脏数据进入数据库。今天这篇文章就带大家全面吃透 MySQL 中最常用的表约束,包括null/not null、default、comment、zerofill、primary key、auto_increment、unique key、foreign key,从基础概念到实操案例,手把手教你用约束拿捏数据合法性!下面就让我们正式开始吧! 一、为什么需要表的约束?         先看一个简单的例子:如果我们创建一个班级表,只定义字段和数据类型,不添加任何约束,会发生什么? -- 无约束的班级表 create table myclass( class_

By Ne0inhk

Hunyuan-MT-7B-WEBUI踩坑记录:这些错误别再犯了

Hunyuan-MT-7B-WEBUI踩坑记录:这些错误别再犯了 部署一个“一键启动”的AI镜像,真的能零失败? 当你满怀期待双击 1键启动.sh,终端却突然卡在 ImportError: cannot import name 'xxx' from 'transformers'; 当你终于看到 http://localhost:7860 的界面,输入中文点翻译,结果返回一串乱码或空响应; 当你切换到维吾尔语-汉语模式,页面直接报错 KeyError: 'ug'…… 这些不是小概率事件——而是真实发生在90%首次使用者身上的高频故障。 Hunyuan-MT-7B-WEBUI 确实强大:33种语言互译、5大民汉方向全覆盖、WMT25多语种榜首、Flores200测试集领先同规模模型。但它的“傻瓜式”表象之下,藏着几处极易被忽略的工程断点。本文不讲原理、不炫效果,只聚焦一件事:

By Ne0inhk

GLM-4.6V-Flash-WEB能否发现PS痕迹明显的伪造图像?

GLM-4.6V-Flash-WEB能否发现PS痕迹明显的伪造图像? 在社交媒体、新闻传播和数字内容创作空前活跃的今天,一张经过精心修饰甚至完全篡改的图片,可能在几分钟内引发舆论风暴。从“AI换脸”到“移花接木”,图像伪造技术早已不再是专业领域的高门槛操作,而成为人人可及的日常工具。随之而来的是对内容真实性的严峻挑战:我们还能相信眼睛看到的吗? 正是在这样的背景下,传统依赖人工经验或特定算法(如ELA、噪声分析)的图像鉴伪手段逐渐显得力不从心。它们往往只能识别某一类篡改,且需要专业知识配置流程。而新一代基于多模态大模型的技术路径——比如智谱AI推出的 GLM-4.6V-Flash-WEB ——正试图用“看懂图像”的方式,重新定义图像真伪判断的可能性。 这款模型并非专为鉴伪设计,但它所具备的视觉-语言联合理解能力,使其在面对“这张图有没有被PS过?”这类问题时,展现出令人意外的敏锐度。它真的能发现明显PS痕迹吗?我们不妨从它的底层机制说起。 GLM-4.6V-Flash-WEB 是智谱AI为Web端和轻量化部署场景优化的新一代多模态模型,属于GLM系列中强调“可落地性”的分支。与

By Ne0inhk