如何从匿名主机调用ajax,标头Access Control Allow Origin:*不起作用


How to call ajax from anonymous host, header Access-Control-Allow-Origin: * not working

你好,我正在尝试创建一个可以由ajax从匿名主机调用的PHP页面,我运行了我的代码XAMPP主机,运行得很好,但当我尝试从http://podserver.info/运行它时,意味着我从那里获得了一个免费的主机,它就是www.datatwo.podserver.info。我使用以下PHP代码

<?php 
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
    header('Access-Control-Allow-Headers: Origin, Content-Type, Accept,Authorization, X-Request-With');
    header('Access-Control-Allow-Credentials: true');
    echo "hi";
?>

JavaScript ajax代码是

var xmlhttp;
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            console.log(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET", "//www.datatwo.podserver.info/index.php", true);
    xmlhttp.send();

但它只在我使用XAMPP服务器时工作,当我上传到pod服务器时它不工作,我现在该怎么办?

无法加载来自控制台XMLHttpRequest的错误消息http://www.datatwo.podserver.info/index.php.请求的资源上不存在"Access Control Allow Origin"标头。原点'http://stackoverflow.com因此不允许访问。

当您调用ajax podserver时,不要给您PHP的主要输出,服务器首先将您的PHP转换为它们的格式。您可以理解,使用浏览器inspect element,您注意到podserver添加了一些额外的代码。