jQuery中的跨域URL

时间:2013-02-16 18:56:26

标签: php javascript jquery cross-domain cross-domain-policy

我已经制作了一个非常简单的index.php代码,如下所示

<!DOCTYPE html> 
<head> 
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/httpGet.js"></script>
<script type="text/javascript" src="js/jquery.mobile.js"></script>   

</head> 

<body>
 <input id="string" type="text"/>
 <input id="button" type= "button" value="Check" />

</body>
</html>

在此HTML代码中,我们从用户处获取一个数字并调用httpgGet.js文件。 而httpGet.js是:

$('#button').click(function() {
        var string = $('#string').val();
    $.post('http://...../isprime.php',{number: string},function(data){
      alert(data);
            } 
     }

我们将用户号码发送到isprime.php文件,在该文件中检查用户号码是否为素数。当我说$ .post('php / isprime.php',.....)它运行得很好,但是当我想从另一台计算机调用isprime.php时,它不起作用。

我的意思是$ .post('192.168.1.1/test/isprime.php'....)给我一个未找到的错误。

该文件存在,我可以使用浏览器的直接调用来运行代码。当我输入浏览器192.168.1.1/test/isprime.php时,文件是可以访问的,但是从js文件中,它会失败。显然,我也可以ping 192.168.1.1。我甚至用FireBug检查了代码,但没有办法彻底。

我搜索了很多并且来了一个浏览器,浏览器不允许跨域调用(出于安全目的,我猜),但我找不到解决方案来摆脱这个问题。有一些关于YQL(这是一种查询语言,我不知道我是否可以使用它)。我也看到了关于cULR的一些内容,但我不确定它是否也有效。

请帮助。我真的需要它。 非常感谢你。

1 个答案:

答案 0 :(得分:0)

在我看来,最明显的解决方案是在服务器端使用cURL库在您没有跨域请求限制的情况下发出请求(如您所述,是的,它会起作用)。当然,您需要在服务器上安装cURL库。 PHP cURL manual应该有足够的信息让您入门。