0

我做了一个非常简单的 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 的东西,但我不确定它是否也有效。

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

4

1 回答 1

0

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

于 2013-02-16T22:42:16.673 回答