繁体   English   中英

如何在PHP中使用Ajax $ _POST从javascript检索位置数据?

[英]How do I retrieve location data from javascript using Ajax $_POST in PHP?

我无法在PHP中使用以下代码。 我想检索用户位置,然后将其发送到我的php脚本,以便在服务器上进行进一步处理。 Php将不会检索数据。

编辑:

    <!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>


<script>

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
  } else {
  alert('Geolocation is required for this page, but your browser doesn&apos;t support it. Try it with a browser that does, such as Opera 10.60.');
}

function successFunction(position) {
  var lat = position.coords.latitude;
  var long = position.coords.longitude;
  var latlong = {"lat" : lat , "long" : long};
  var latlong_encoded = JSON.stringify(latlong);

  $.ajax({
   url: 'PostTest.php',
   type: 'POST',
   data: {"userLocation" : latlong_encoded},
   success: function(data) {
        alert(latlong_encoded);
   }
});

}

function errorFunction(position) {
  alert('Error!');
}
</script>


</body>
</html>

这是PHP代码:

<?php
$lat[]= array('coord'=>json_decode($_POST["userLocation"]));
print_r($lat);
?>

我只是得到一个空数组。 数组([0] =>数组([coord] =>))

尝试添加

dataType: "json" //for response
contentType: "application/json; charset=UTF-8" //for request

在ajax请求..

我的片段:

    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(showLocation);
    }
    else { 
    alert('Geolocation non supported..');
    }

    function showLocation(position) {
        var lat = position.coords.latitude;
        var long = position.coords.longitude;
        $.ajax({
           //YOUR AJAX REQUEST USING LAT, LONG
        });
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM