那里,
我正在实现一个需要将一些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文件放到可公开访问的目录中并不是我首选的选项......