XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用Origin null,尽管“header('Access-Control-Allow-Origin:*');”

时间:2013-03-19 13:16:44

标签: javascript jquery xmlhttprequest same-origin-policy

那里,

我正在实现一个需要将一些XMLHttpRequests发布到通过JQuery完成的php脚本的书签。

基本上这看起来像这样(只是简单的例子......):

使用Javascript:

$.post('https://www.myserver.com/script.php').always(function(data) {
    console.warn('data:', data);
}

的script.php:

<?php
header('Access-Control-Allow-Origin: *');

$res["isSession"] = false;
echo json_encode($res);

起初这根本不起作用,因为空来源但是在我看到this post之后我添加了“标题('Access-Control-Allow-Origin:*');”线。

使用这一行,当我在本地安装的Apache上执行脚本时,它至少有效。

不幸的是,一旦我尝试在位于共享主机上的在线站点上执行它,它就不起作用但是给了我“XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用Origin null”错误消息。

在共享主机上,它也在运行Apache。这可能是由一些Apache配置引起的吗?如果是,哪一个?

还有什么问题可以解决?

由于

ps。:如果我明确使用jsonp作为jquery-post的数据类型它正在工作,但因此我必须重写一些php文件和其他一些使用它们的javascripts。因此,如果可能,我想避免使用此选项......


编辑: 我刚刚发现在线服务器上的php文件位于一个用htaccess文件“锁定”的目录中。如果我将php文件移动到每个人都可以访问的目录,我就不会收到提到的错误消息。

现在有人如何规避这个问题?将php文件放到可公开访问的目录中并不是我首选的选项......

0 个答案:

没有答案