【问题标题】:cors with htaccess and jquery带有 htaccess 和 jquery 的 cors
【发布时间】:2016-04-10 11:34:22
【问题描述】:

在我的 apache 中启用了 modHeader。首先:我的 apache 没有完全限定的域名。这可能是我的问题的原因吗?

我想用 CORS 传递 json 文件。

http://78.47.45.6/one/sites/default/files/bla1/13/kontakt.json你可以看到非常重要的数据;)

在同一文件夹http://78.47.45.6/one/sites/default/files/bla1/13/ 中有一个.htaccess 文件,内容如下:

标头集 Access-Control-Allow-Origin "*"

这都是因为根目录下还存在其他htaccess文件。

另一个服务器的页面pano-maen.rhcloud.com/willkommen.html有以下js:

// Using jQuery
$.ajax({
/*   xhrFields: {
    withCredentials: true
},*/
type: "GET",
url: "http://78.47.45.6/one/sites/default/files/bla1/13/kontakt.json"
}).done(function (data) {
console.log(data);
});

注释掉 xhrFields 后,我在 Firefox 中得到了结果。但是chrome不接受这个。 使用激活的 xhrFields FF 和 chrome 都不会给出结果!我在多个目录中测试了 htaccess。我如何得到错误:

XMLHttpRequest 无法加载...请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin ...因此不允许访问。

消失??

提前谢谢

【问题讨论】:

  • 我在 Firefox Dev Edition 和 Chrome 上测试了这段代码,得到了结果...

标签: jquery .htaccess cors


【解决方案1】:

来自this site

您可以将Header set Access-Control-Allow-Origin "*" 添加到您的.htaccess,但这仅在您的 ISP 加载了mod_headers 时才有效

如果我没记错的话,您必须在为您的 javascript (rhcloud.com ...) 提供服务的服务器上的 .htaccess 中进行修改

作为替代方案,您可能会找到一些信息,您可以如何使用 jsonp 来规避同源策略

编辑: 如果您还需要这些标头,您可能需要查看:

Access-Control-Allow-Methods
Access-Control-Allow-Headers
Access-Control-Max-Age

【讨论】:

  • THX,但正如我所写:.htaccess 存在于同一个文件夹中,modHeader 已启用并且 .htaccess(所有者:www-data,组:www-data)具有内容 Header 设置 Access-控制允许来源“*”。
  • 我编辑了我的帖子。访问控制允许来源必须位于为您的网页和 javascript 提供服务的服务器上
猜你喜欢
  • 2012-09-02
  • 1970-01-01
  • 2012-07-28
  • 2017-07-25
  • 2016-04-20
  • 2014-01-20
  • 2019-06-24
  • 2013-03-04
  • 2020-10-24
相关资源
最近更新 更多