将地理坐标更新为db

问题描述:

此问题已在网络上的其他帖子和其他论坛中解决,但我不明白哪里出错。
我已经为寻找用户的位置验证码的javascript:
将地理坐标更新为db

if(!!navigator.geolocation){ 
    navigator.geolocation.getCurrentPosition(geolocalizzami); 
} 
else { 
    alert("Geolocalizzazione non supportata"); 
} 

function geolocalizzami(position) { 
    document.getElementById("lon").innerHTML = position.coords.longitude; 
    document.getElementById("lat").innerHTML = position.coords.latitude; 
} 

,我可以用

<label id='lon' /></label> 

和OK打印。我需要将这些数据加载到数据库中。我知道我需要使用jQuery和Ajax。将ajax代码放入一个html页面中,用于查找坐标并将这些数据与post方法一起发送到php页面。在这里我可以使用$ _POST ['value']来处理数据。 一个例子,在互联网上找到,我用的是:

page.html中:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script src="http://maps.google.com/maps/api/js?sensor=true"></script> 
<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> 
</script> 
</head> 
<body> 
<script type="text/javascript"> 
if (navigator.geolocation) { 

navigator.geolocation.getCurrentPosition(function(position) { 

    $.ajax({ 
     url:'page2.php', 
     data: { 
      'lat': position.coords.latitude, 
      'lng': position.coords.longitude 
     }, 
     type: 'get', 
     success: function (result) { 
      // If your backend page sends something back 
      alert(result); 
     } 
    }); 

    }); 
} 
</script> 
</body> 
</html> 

使page2.php:

<?php 
echo $lat = $_POST['lat']; 
echo $lng = $_POST['lng']; 
?> 

为什么$ LAT$ LNG是空?提前致谢。

变化

echo $lat = $_POST['lat']; 
echo $lng = $_POST['lng']; 

echo $lat = $_GET['lat']; 
echo $lng = $_GET['lng']; 

或者

type: 'get', 

type: 'post', 

你分别为m ixing POSTGET这是PHP中的两个不同的东西。我会推荐使用邮递员这样的工具来查看发生了什么事。这有时会给你更多关于正在发生的事情的信息。

为了测试purpese你可以改变$_POST$_GET和尝试:

$.get("page2.php?lat="+position.coords.latitude+"&lng="+position.coords.longitude, function(data) { 
console.log(data) 
}); 

而且它更常见的是使用

$lat = $_GET['lat']; 
$lng = $_GET['lng']; // POST 

echo $lat; 
echo $lng; 

或者只是

echo $_GET['lat']; 
echo $_GET['lng']; // or POST 
+0

混合是我的疏忽,但谢谢指点我。无论如何,我纠正了使用后两种方法,但我一直没有看到任何东西。 –

+0

我已经更新了我的回答 – SuperDJ

+0

他们仍然是第一个使用javascript的武器,但是我把你的代码放在了$ .ajax({...})的地方(对吧?)。无论是获得和发布,但我一直没有看到任何东西。 –