jquery – 在Apache中启用了CORS,但是AJAX不工作(chrome表示原始不允许)

前端之家收集整理的这篇文章主要介绍了jquery – 在Apache中启用了CORS,但是AJAX不工作(chrome表示原始不允许)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图让一些 AJAX在两个子域之间工作.

rails.mydomain.com和mydomain.com

在apache中,在/ etc / apache2 / sites-available /我有我的rails.mydomain.com文件

<VirtualHost *:80>
    Header add Access-Control-Allow-Origin "http://www.mydomain.com"
    Header add Access-Control-Allow-Origin "http://www.dev-mydomain.com"
</VirtualHost>

然而,每当我尝试从http://www.dev-mydomain.com做一个简单的ajax测试请求,在Chrome中,我得到:“XMLHttpRequest无法加载http://rails.mydomain.com/directory. Origin-Control-Allow-Origin不允许Origin http://www.dev-mydomain.com.

任何人都知道我失踪了什么

解决方法

正如Dahazer的链接指出,最好的选择是设置一个Access-Control-Allow-Origin标头.这绝对不适合生产,但是您可以在开发模式下回发Origin标题.

如果您仍然遇到问题,可能您在响应中没有设置足够多的CORS头.根据我在chrome中进行跨域ajax的经验,(不使用jquery心灵),我还需要设置以下标题

Access-Control-Allow-Headers : X-Requested-With,Content-Type

鉴于我使用除POST和GET之外的HTTP方法,我也需要设置

Access-Control-Allow-Methods : GET,PUT,POST,DELETE

不过最重要的是,我建议您阅读html5 CORS教程,特别是CORS on the server部分.根据您的具体使用情况,它应该可以让您了解配置CORS的不同方式,无论是在服务器还是客户端(在您的情况下为jquery的ajax配置选项).

猜你在找的jQuery相关文章