请求在 WAMP 上被阻止,但在 XAMPP 上允许 CORS
Posted
技术标签:
【中文标题】请求在 WAMP 上被阻止,但在 XAMPP 上允许 CORS【英文标题】:Request Blocked on WAMP, but CORS allowed on XAMPP 【发布时间】:2018-12-01 00:40:06 【问题描述】:我尝试使用 WAMP 调用存储在 XAMPP 端口 8012
上的 jpg 文件,从端口 8080
发送 XHR。
我在 XAMPP 服务器上有一个 htaccess
文件,其内容如下,为了允许 CORS:
<IfModule mod_rewrite.c>
Header add Access-Control-Allow-Origin: "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
Header add Access-Control-Allow-Headers: "Content-Type"
RewriteEngine on
RewriteBase /
</IfModule>
我什至尝试编辑配置文件httpd.conf
文件with this guide,但没有任何效果。 WAMP 发送GET
请求并收到以下错误:
跨域请求被阻止:同源策略不允许读取 http://localhost:8012/cdn_8080/video.jpg 的远程资源。 (原因:CORS 标头中缺少令牌 'access-control-allow-origin' 来自 CORS 预检通道的“Access-Control-Allow-Headers”)。
我检查了,mod_rewrite
在 xampp 上启用:
LoadModule rewrite_module modules/mod_rewrite.so
我做错了什么?
【问题讨论】:
【参考方案1】:我解决了我自己的问题。
我的 javascript 文件包含以下几行:
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS,DELETE,PUT');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type');
// xhr.withCredentials = true;
// will return an error
这是不必要的,所以我删除了它们,现在一切正常。
【讨论】:
可以确认。不知道为什么。以上是关于请求在 WAMP 上被阻止,但在 XAMPP 上允许 CORS的主要内容,如果未能解决你的问题,请参考以下文章
WAMP + XAMPP,无法访问 localhost/phpmyadmin