【问题标题】:CORS - multiple values in Access-Control-Allow-OriginCORS - Access-Control-Allow-Origin 中的多个值
【发布时间】:2019-08-29 00:03:39
【问题描述】:
我尝试从 Vue App 中的 Wordpress API 获取数据。
我正在将 DigitalOcean 与 Apache 一起使用。
我已经在虚拟主机中设置了Header set Access-Control-Allow-Origin "*"。
但现在我遇到了这样的错误:
从源“http://localhost:3000”访问 xxx 处的 XMLHttpRequest 已被 CORS 策略阻止:“Access-Control-Allow-Origin”标头包含多个值“http://localhost:3000, *”,但只允许一个值。
我正在使用 axios 来处理请求。
你有什么想法吗?
是服务器端问题还是我应该在 axios 配置中设置一些东西?
谢谢。
【问题讨论】:
标签:
apache
vue.js
cors
axios
【解决方案1】:
这是一个服务器端问题。您需要在 apache 配置中启用 CORS,方法是:
- 设置
Header set Access-Control-Allow-Origin "*" - 表示允许所有来源向该服务器发出请求
- 设置
Header set Access-Control-Allow-Origin "http://localhost:3000"
这告诉服务器接受来自这个来源的请求,以进一步解释。
https://enable-cors.org/server_apache.html
【解决方案2】:
将您的标头集语句更改为:
标头始终设置 Access-Control-Allow-Origin "*"
否则 Apache 会在请求头中添加源,这会导致问题。