如何在PHP代码中使用JavaScript代码

时间:2012-05-30 07:04:35

标签: javascript

我想知道用户在我的应用程序中的当前位置。因为我必须使用

我的PHP代码中的地理定位代码。但我不知道如何在PHP代码中使用JavaScript代码。

Geolocation的JavaScript代码如下。

      function displayLocation(loc){
      var lat = loc.coords.latitude;
      var lon = loc.coords.longitude;
      }
      function getLocation(){
      navigator.geolocation.getCurrentPosition(displayLocation);
      }
    $(document).ready(function(){
    getLocation();
    });

我想将这些lat和lon值分配给我的php变量纬度和经度。

为此,我必须知道如何在php中使用JavaScript代码以及如何分配JavaScript 值到php变量。

如果有任何建议可以告诉我完成此任务。

              Thanks.......

1 个答案:

答案 0 :(得分:4)

您无法将javascript值分配给PHP值,因为javascript在客户端运行,而PHP在服务器端运行。

您需要使用简单的POST / GET操作或使用ajax将纬度和经度值发送回服务器。

获取用户的位置

<script type="text/javascript">
    function displayLocation(loc){
      var lat = loc.coords.latitude;
      var lon = loc.coords.longitude;
      $("#lat").val(lat);
      $("#lon").val(lon);
    }
    function getLocation(){
      navigator.geolocation.getCurrentPosition(displayLocation);
    }
    $(document).ready(function(){
      getLocation();
    });
</script>

将位置值放入表单然后将其提交到服务器端:

<form action="coordinates.php" method="post" id="cform">
  Latitude: <input type="text" name="lat" id="lat" value=""><br>
  Longitude: <input type="text" name="lon" id="lon" value=""><br>
  <input type="submit" name="submit" value="Send data">
</form>

从表格中处理用户在PHP中的位置:

<?php
  $lat = $_POST["lat"];
  $lon = $_POST["lon"];
  echo "Your location is: " . $lat . ", " . $lon;
?>

JSFiddle demo

上面代码的Ajax示例:

$.post("coordinates.php", $("#cform").serialize(), function(result){
    // code executed here when we get response from the server
    alert(result);
});