CORS白名单配置后前端还是跨域,咋回事?

UX-梓晴 阅读 14

我后端已经加了CORS白名单,只允许我们自己的域名访问,但本地开发时用 localhost:8080 还是报跨域错误,是不是哪里没配对?

我在 Vue 里是这样发请求的:

<script setup>
import axios from 'axios'

const fetchData = async () => {
  try {
    const res = await axios.get('https://api.example.com/data')
    console.log(res.data)
  } catch (err) {
    console.error('请求失败:', err)
  }
}
</script>

后端说白名单里加了 https://myapp.com,但本地开发用的是 http://localhost:8080,这算不算没匹配上?需要把 localhost 也加进去吗?

我来解答 赞 6 收藏
二维码
手机扫码查看
1 条解答
程序猿浩宇
对,你本地开发用的 http://localhost:8080https://myapp.com 完全不是一回事,CORS 白名单必须把 http://localhost:8080 也加进去,而且注意协议(http vs https)和端口(8080)都要完全匹配,我之前这样搞的:后端白名单里加 http://localhost:8080,生产环境再加 https://myapp.com,改完重启服务再试,别用代理缓存绕过本地开发时的跨域。
点赞 1
2026-02-25 16:03