0

嗨,我对 javascript 很陌生,我有一小段 javascript,它可以获取使用地理定位的纬度和经度,然后将其传递给 php 页面。

我想要做的是每两分钟运行一次函数,但每次函数运行时都会加载 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 页面?或者调用 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 回答