我已经制作了一个非常简单的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的一些内容,但我不确定它是否也有效。
请帮助。我真的需要它。 非常感谢你。
答案 0 :(得分:0)
在我看来,最明显的解决方案是在服务器端使用cURL库在您没有跨域请求限制的情况下发出请求(如您所述,是的,它会起作用)。当然,您需要在服务器上安装cURL库。 PHP cURL manual应该有足够的信息让您入门。