Javascript函数每2分钟运行一次,无需加载其他页面

时间:2012-12-11 14:56:11

标签: javascript geolocation

您好我是javascript的新手,我有一小部分javascript,可以获得使用地理位置的lat和lon,然后将其传递给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函数每两分钟更新一次细节的最佳方法。

由于

1 个答案:

答案 0 :(得分: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);