javascript - 请求在 WAMP 上被阻止,但在 XAMPP 上允许 CORS
问题描述
我尝试8012
使用 WAMP 调用存储在 XAMPP 端口上的 jpg 文件,从端口发送 XHR 8080
。
我htaccess
在 XAMPP 服务器上有一个包含以下内容的文件,为了允许 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
编辑配置文件,但没有任何效果。WAMP 发送请求并收到以下错误:GET
跨域请求被阻止:同源策略不允许在http://localhost:8012/cdn_8080/video.jpg读取远程资源。(原因:CORS 预检通道的 CORS 标头“Access-Control-Allow-Headers”中缺少令牌“access-control-allow-origin”)。
我检查了,并mod_rewrite
在 xampp 上启用:
LoadModule rewrite_module modules/mod_rewrite.so
我做错什么了?
解决方案
我解决了我自己的问题。
我的 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
这是不必要的,所以我删除了它们,现在一切正常。
推荐阅读
- laravel - 使用 laravel 保护移动应用程序的公共 api
- python - 关于 Python For 循环的初学者问题
- sql - 重叠时的 SQL Group 相关字符串(传递关系?)
- javascript - 获取未定义值 jQuery 和 Html
- opengl - 在 glsl 中指定纹理数组的绑定
- c++ - 在 C++ 中,全枢轴 QR 比非枢轴 QR 更快?(与特征库)
- ruby-on-rails - RSpec 失败/错误:需要 File.expand_path('../config/environment', __dir__)
- python - Pandas:计算列中组数的中位数
- android - RecyclerView 在所有项目上调用 onBindViewHolder() [不涉及 ScrollView]
- amazon-web-services - IamRoleLambdaExecution - 策略中的语法错误