【问题标题】:How to get the value from javascript to php variable when script and php code are in index.php? [duplicate]当脚本和php代码在index.php中时,如何从javascript获取值到php变量? [复制]
【发布时间】:2018-07-27 09:24:03
【问题描述】:

我在 index.php 中的代码是

<script type="text/javascript">
    window.onload=function(){

        function callback(position) {
           latitude = position.coords.latitude;
           longitude = position.coords.longitude;
             alert(latitude);
             alert(longitude);
        }

        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(callback);
        }

    }
</script>

我需要在index.php中显示经纬度的值

<?php echo $lat; ?>, 
<?php echo $long; ?> how can i get value here?

【问题讨论】:

  • 异步 HTTP 请求 (AJAX)。也许是 Websocket。无法通过客户端(如您所料)。
  • 不能直接将javascript变量赋值给php变量,使用cookie来实现

标签: javascript php wordpress


【解决方案1】:

首先,Javascript 是基于客户端的语言,除非您刷新页面或使用 AJAX(异步 Javascript 和 Xml),否则您无法将其发送到服务器

AJAX 只是使用以下组合:

  • 浏览器内置 XMLHttpRequest 对象(用于从 Web 服务器请求数据)

  • JavaScript 和 HTML DOM(显示或使用数据)*

您可以创建一个控制器,您将在其中发送这样的数据

function sendData(lat, lon) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      alert("Sent successfuly");
    }
  };
  xhttp.open("GET", "getGeolocation.php?latitude=" + lat + "&longitude=" + lon , true);
  xhttp.send();
}

这样您将通过函数传递纬度和经度,然后将其值发送到 getGeolocation.php 中的控制器

你可以这样获取数据

$lat = $_GET['lat'];
$lon = $_GET['lon'];

【讨论】:

  • 对不起,我是新手。我真的很困惑n无法得到解决方案。我在加载 single-service.php 时需要这个值。能给我完整的代码吗?
猜你喜欢
  • 2013-03-06
  • 1970-01-01
  • 2018-02-20
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
相关资源
最近更新 更多