You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Axios请求localhost接口出现跨域协议支持错误?

问题根源与解决方案

这个错误的核心原因很简单——你的axios请求URL没加HTTP协议前缀!

浏览器看到localhost:8081/fetchData?table=locations时,不会默认把它当成HTTP请求,反而会根据当前页面的协议来解析它。比如如果你的前端页面是通过file://协议打开的(直接双击HTML文件),浏览器就会认为你是从file协议跨域请求到一个非标准协议的地址,自然触发这个跨域限制提示。

快速修复步骤

直接给请求URL加上http://前缀就行:

this.Locations = axios.get('http://localhost:8081/fetchData?table=locations').then((res) => { return res })

加上协议后,浏览器能明确识别这是一个标准的HTTP请求,就不会再触发这个协议相关的跨域错误了。

额外提醒

既然你说直接在浏览器访问接口正常,说明后端的/fetchData配置是没问题的。如果后续还遇到其他跨域问题(比如请求被OPTIONS拦截),可以考虑在后端app.js里添加CORS中间件(比如Express的cors包)来允许前端所在域名的请求,但当前这个错误的直接触发点就是缺少HTTP协议前缀。

内容的提问来源于stack exchange,提问作者richardthefourth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:37:37