几秒钟后如何使用Ajax自动将数据插入数据库

时间:2018-07-12 20:16:17

标签: php ajax database html5 geolocation

我有html5的地理位置代码。在此代码中,当我单击按钮时,当我单击“尝试”按钮时,它将向我显示纬度和经度数据。 演示:demo 我已经定制了代码,并使用ajax将数据插入到数据库中。现在,我想隐藏按钮,我想在5秒钟后自动发送数据。

<script 
 src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"> 
</script>
  <button onclick="getLocation()">Try It</button>
<script>
  function getLocation() {
   if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
    } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
   }
 }

     function showPosition(position) {
     var lat = position.coords.latitude;
     var long = position.coords.longitude;

     //AJAX CALL THIS WILL PASS THE VALUE OF JAVASCRIPT TO PHP
     $.ajax({
      type: 'post',
      url: 'ajax-processor.php',
      data: {
        lat: lat,
        long: long
       },
       success: function(html) {
         alert("Success");
        }
      });
    }
    </script>

要插入我的ajax数据,我有以下代码,该代码直接插入数据库(ajax-processor.php)

$lat = $_POST['lat'];
$long = $_POST['long'];

//your code to insert to the database here using the $lat and $long variable

现在,我想在5秒后插入此数据而没有任何按钮。在地理位置代码中,我有此代码

<button onclick="getLocation()">Try It</button>

我想隐藏此按钮,并且纬度,经度数据将在5秒钟后自动发送到数据库。 总而言之,我要插入的经度和纬度数据将在5秒钟后发送到数据库。 请帮助我。

3 个答案:

答案 0 :(得分:0)

尝试以下代码:

setTimeout(function() { 
    getLocation();
}, 5000);

答案 1 :(得分:0)

var timer = setTimeout(function() { 
 $.ajax({ 
 type:post, 
 url : 'ajax-processor.php', 
 success: function(html) { 
       alert("Success"); 
     } 
   }); 
 }, 500);

答案 2 :(得分:0)

您需要更改几行代码。

<button onclick="getLocation()">Try It</button>

<button>Try It</button>

然后,您需要添加jQuery来设置超时。

<script>

setTimeout(function() { 
    getLocation();
}, 5000); // for 5 secs


  function getLocation() {
   if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
   } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
   }
 }

 function showPosition(position) {
   var lat = position.coords.latitude;
   var long = position.coords.longitude;

   //AJAX CALL THIS WILL PASS THE VALUE OF JAVASCRIPT TO PHP
   $.ajax({
     type: 'post',
     url: 'ajax-processor.php',
     data: {
       lat: lat,
       long: long
     },
     success: function(html) {
       alert("Success");
     }
  });
}
</script>