具有不同端口的同源策略

时间:2014-04-12 08:35:24

标签: php ajax same-origin-policy allow-same-origin

我正在端口8080上的localhost中运行Tomcat Server,并在那里部署了我的Web应用程序。

然后我的Wamp服务器在端口80的同一个localhost中运行。这里部署了php代码。

我想从我的html文件发出一个AJAX请求,这个文件在Tomcat中存在于Wamp服务器中的php文件中。

但由于原始政策相同,我无法访问php文件。我看过以下帖子。但他们没有给出解决方案来解决同一主机和不同端口的同源策略问题。

请帮助我。

这是我的PHP代码。

<?php

header("Access-Control-Allow-Origin: *");

$hint="";
$itemName=$_GET["itemName"];
if($itemName == "ipad")
$hint = "Apple Ipad";
if($itemName == "nexus")
$hint = "Google Nexus";
if($itemName == "motog")
$hint = "Moto g";
if($itemName == "xperiap")
$hint = "Sony Xperia P";

echo $hint==="" ? "No Details" : $hint;

?> 

这是我的javascript,我正在制作ajax请求

    function getDetails(itemName){
    request = createRequest();
    if(request == null){
        alert("Connection isuses");
        return false;
    }
    document.domain = document.domain;
    var url = "http://"+document.domain+"/Ajax/getDetails.php?itemName="+itemName;
        request.onreadystatechange = displayDetails;
    request.open("GET", url,true);
    request.send();
}

我有createRequest和displayDetails的函数。

1 个答案:

答案 0 :(得分:-1)

我猜你的浏览器阻止了与安全相同的来源。

您是否尝试过禁用安全措施?我们可以按照以下方式在Google Chrome中停用此安全措施:

chrome.exe --disable-web-security