我正在设计可以在服务器上调用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>
当代替localhost后跟该位置时它起作用,我只是像这样引用WorkingVersionVQuicklook.php:
xmlhttp.open("POST","WorkingVersionVQuickLook.php",true)
但是,一旦我在localhost上添加确切的位置,它就不会。
当我导出到我的Android模拟器时,即使是有效的版本也无法在模拟器上运行,这使我想到我应该在本地机器上指定它。但是因为当我不通过浏览器运行它时它甚至不起作用,它将无法在模拟器上运行。
请帮我创建一个成功映射的连接,这样它就可以用于浏览器,然后希望我的android!
答案 0 :(得分:1)
尝试使用/myfiles/WorkingVersionVQuickLook.php
而非http://127.0.0.1/myfiles/WorkingVersionVQuickLook.php
。使用XHR连接到不同的主机可能会变得棘手。
答案 1 :(得分:1)
潜在的解决方案:
首先,我认为您可能错过了绝对URL中的端口号。其次,您需要使用用于从网络上的其他计算机连接到您的计算机的IP地址。这是因为模拟器作为自己的虚拟机运行,因此使用localhost或相对URL将导致请求被发送到模拟器上的指定路径,而不是主OS的文件系统中的路径。
(编辑更直接回答问题)