我正在尝试做以下事情: 我想从位于Web服务器中的page.html获取两个动态数据(纬度和经度),我希望将它们作为Web服务获取: 以下是执行位于服务器中的网页的结果: {“结果”:[{“纬度”:“36.81881”,“经度”:“10.16596”}]} 这正是我想在我的客户端应用程序中恢复的问题,但问题是我无法得到结果,我只能得到页面的代码源。 Html位于服务器中。 这是我在客户端上用来从服务器获取数据的方法:
function latLong()
{
var ajax = new XMLHttpRequest();
ajax.open("GET","http://localhost/AtitLongiWebService.html",true);
ajax.send();
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && (ajax.status==200||ajax.status==0)){
alert(ajax.responseText);
}
}
}
以下是我在web服务器中的page.html:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function startWatch(){
if (navigator.geolocation)
var watchId = navigator.geolocation.watchPosition(successCallback,
errorCallback,
{enableHighAccuracy:true,
timeout:10000,
maximumAge:0});
else
alert("Votre navigateur ne prend pas en compte la géolocalisation HTML5");
}
function stopWatch(){
navigator.geolocation.clearWatch(watchId);
}
function successCallback(position){
document.getElementById("lat").innerHTML = position.coords.latitude;
document.getElementById("long").innerHTML = position.coords.longitude;
};
function errorCallback(error){
switch(error.code){
case error.PERMISSION_DENIED:
alert("L'utilisateur n'a pas autorisé l'accès à sa position");
break;
case error.POSITION_UNAVAILABLE:
alert("L'emplacement de l'utilisateur n'a pas pu être déterminé");
break;
case error.TIMEOUT:
alert("Le service n'a pas répondu à temps");
break;
}
};
</script>
</head>
<body onload="startWatch()">
{"results":[{"Latitude":"<label id="lat"></label>",
"Longitude": "<label id="long"></label>"}]}
</body>
</html>
通常ajax.responseText返回结果但在这种情况下它返回代码源,有人可以帮我获取页面执行的结果而不是代码源。谢谢你的帮助。
答案 0 :(得分:0)
目前您访问的网页是带有嵌入式JavaScript的标准静态HTML页面。由于这是由Apache提供的(作为WAMPserver环境的一部分),它将其视为具有客户端 javascript的纯HTML页面。也就是说,只需将文件发送到客户端而不运行任何内容。
要运行服务器端 javascript,您需要javascript server,例如node.js。