0

私は次のことをしようとしています: Web サーバーにある page.html から 2 つの動的データ (緯度と経度) を取得したかったのですが、それらを Web サービスとして取得したいのです: の実行結果は次のとおりです。サーバーにある私のWebページ: {"results": [{"Latitude": "36.81881", "Longitude": "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 は結果を返しますが、この場合はコード ソースを返します。誰かがコード ソースではなくページの実行結果を取得するのを手伝ってくれませんか。ご協力ありがとうございました。

4

1 に答える 1