我已将所有内容添加到我的 Apache htaccess 中:
标头集 Access-Control-Allow-Headers: X-Requested-With 标头集访问控制允许方法:选项 标头添加访问控制允许方法:GET 标头添加访问控制允许方法:POST 标头添加 Access-Control-Allow-Headers: Content-Type 标头添加访问控制允许标头:深度 标头添加 Access-Control-Allow-Headers: User-Agent 标头添加 Access-Control-Allow-Headers: X-File-Size 标头添加 Access-Control-Allow-Headers: X-Requested-With 标头添加 Access-Control-Allow-Headers: If-Modified-Since 标头添加 Access-Control-Allow-Headers: X-File-Name 标头添加 Access-Control-Allow-Headers: Cache-Control 标头集 Access-Control-Allow-Origin:http://mysite.com 标头添加 Access-Control-Allow-Origin:https://mysite.com 标头集 Access-Control-Allow-Credentials: true
我将此添加到我的 jquery $.ajax 中:
xhr字段:{ withCredentials: 真 }
绝对没有任何作用。
我正在做 $.ajax
类型:'POST', 数据类型:'json'
我想通过设置上面所有这些标题,我可以做 json 而不是 jsonp(请不要 jsonp。除了 jsonp 之外的任何东西。我无法成功触发。please.god.no)
我已经到了极限。我得到了很好的 ole
XMLHttpRequest 无法加载https://mysite.com/aDirectory/aSecureFile.php。Access-Control-Allow-Origin 不允许来源http://mysite.com 。
请帮忙。我要死在这里了。我保证我到处都看过,哦,我到处都看过。
提前谢谢了!
明晰
我的标题都遇到了。我可以在我的响应标题中看到它们,但我仍然收到上述错误。服务器阻塞了吗?浏览器?我有什么特别的事情要做才能做 https 吗?我必须在 Apache 上设置其他设置以允许 CORS 吗?我的 jQuery $.ajax 正确吗?除了数据、成功和错误(以及 URL 始终是 https)之外,这就是我对 jQuery $.ajax 所做的一切。
再次感谢!
新的
跨域 AJAX 预检失败 Origin 检查没有帮助(我不认为)。添加
标头集 Access-Control-Allow-Headers: ORIGINS(调整集合和添加)。所有响应标头都来自管道。
较新
添加了这些
标头添加 Access-Control-Allow-Headers: Origin 标头添加 Access-Control-Allow-Headers: Accept依然没有
请求标头
这些有帮助吗?
接受:应用程序/json,文本/javascript,/;q=0.01 内容类型:application/x-www-form-urlencoded;字符集=UTF-8 来源:http ://mysite.com 引用者: http: //mysite.com/ User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11
PHP
header("访问控制允许来源:http://mysite.com"); header("Access-Control-Allow-Origin: https://mysite.com");
响应标题清晰
RESPONSE HEADERS 来自所有正常请求,而不是跨域 https ajax。
服务器
CentOS 5.8、Apache 2.2.2、PHP 5.3、cPanel、WHM
很好,如果 PHP 没有执行
所以,我匆忙中,直接复制了slashingweapon的cors.php,没有php标签。我使用上面的设置用 $.ajax 制作了一个测试页面。
它工作(因为在 ajax 触发时没有错误)完成了响应标头。一旦我将标签添加到 PHP 中,错误就发生了。我检查了它是否是目录问题,将它放在根目录和子目录中,只要 PHP 没有执行就可以了。
这对任何人都意味着什么?
是否有需要翻转的 PHP 设置?
感谢大家和我一起解决这个问题!
我们有心跳
看起来 htacess 中的多个参数使我的服务器崩溃。我将上面的所有选项都减少到了这个(这对我来说很好,但我很遗憾需要更多的傻瓜):
<IfModule mod_headers.c>
<FilesMatch "\.(php)$">
Header set Access-Control-Allow-Origin: http://mysite.com
Header add Access-Control-Allow-Methods: POST
</FilesMatch>
</IfModule>
我在 PHP 中放的只是
回声“这至少有效”:
这就是回应。一旦我弄清楚是什么导致我的 PHP 失败,我会发布它。
再次感谢大家!
Zend Guard 的问题?
Sooooooooo,对不起,伙计们。忘记添加我的站点正在运行 Zend Guard。有一种导致它的感觉。