0

我正在设计可以在服务器(目前是我自己的本地计算机)上调用 php 的 javascript

最终,我将使用 phonegap 来解释 javascript 并显示结果......

我的问题似乎是连接到实际的服务器。

这是我的javascript:

  <!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function loadXMLDoc() {
    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) {
            document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", "http://127.0.0.1/myfiles/WorkingVersionVQuickLook.php", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send("ipaddress=208.74.76.5");
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>
</body>
</html>

当我引用 WorkingVersionVQuicklook.php 而不是 localhost 后跟位置时,它可以工作,如下所示:

 xmlhttp.open("POST","WorkingVersionVQuickLook.php",true)

但是一旦我在本地主机上添加了确切的位置,它就不会了。

当我导出到我的 Android 模拟器时,即使可以运行的版本也无法在模拟器上运行,这让我想到我应该在本地机器上指定它。但是因为当我不通过浏览器运行它时它甚至不起作用,所以它在模拟器上不起作用。

请帮助我创建一个成功映射的连接,以便它适用于浏览器,然后希望适用于我的 android!

4

2 回答 2

1

尝试使用/myfiles/WorkingVersionVQuickLook.php而不是http://127.0.0.1/myfiles/WorkingVersionVQuickLook.php. 使用 XHR 连接到不同的主机可能会很棘手。

于 2012-07-11T21:10:31.713 回答
1

潜在的解决方案:

首先,我认为您可能缺少绝对 URL 中的端口号。其次,您需要使用用于从网络上的其他计算机连接到您的计算机的 IP 地址。这是因为模拟器作为自己的虚拟机运行,因此使用 localhost 或相对 URL 将导致请求被发送到模拟器上的指定路径,而不是主操作系统文件系统中的路径。

(编辑以更直接地回答问题)

于 2012-07-11T21:23:03.400 回答