0

こんにちは私はjavascriptに非常に慣れていません、私はジオロケーションを使用することの緯度と経度を取得し、それをphpページに渡すjavascriptの小さな部分を持っています。

私がやりたいのは2分ごとに関数を実行することですが、関数が実行されるたびにtest.phpページが読み込まれます

私のコードは以下です

  function position(){
  var a=setTimeout(position(),60000)
  }


    if(navigator.geolocation)
      {
      navigator.geolocation.getCurrentPosition(function(position)
      {
      var lat = position.coords.latitude;
      var lon = position.coords.longitude;
      document.location = "locator/test1.php?lat=" + lat + "&lon=" + 
                   lon;

      });
  }

変数をロードせずにphpページに渡す方法はありますか?または、2分ごとに詳細を更新するためにjavascript関数を呼び出すための最良の方法は何でしょうか?

ありがとう

4

1 に答える 1

2

まず、上記のコードにバグがあります。おそらくタイプミスです。

var a=setTimeout(position(),60000)  <-- calling the function, not assigning it.

そのはず

var a=setTimeout(position,60000);

今あなたの質問に答えるために:

サーバーにAjax呼び出しを行います。

var xmlHttp = new XMLHttpRequest();  //not the cross browser way of doing it
xmlHttp.open("GET", "locator/test1.php?lat=" + lat + "&lon=" + lon, true); 
xmlHttp.send(null);
于 2012-12-11T14:58:40.307 に答える