1

嘿那里,

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

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

Javascript:

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

脚本.php:

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

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

起初,由于 null-origin,这根本不起作用,但在我看到这篇文章后,我添加了“header('Access-Control-Allow-Origin:*');” 线。

有了这一行,当我在本地安装的 Apache 上执行脚本时,它至少可以工作。

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

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

还有什么问题,我该如何解决?

谢谢

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


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

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

4

0 回答 0