将 JS 输出存储在 PHP 变量中
Storing JS output in a PHP variable
我有以下代码:
<!DOCTYPE html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API Example: Extraction of Geocoding Data</title>
</head>
<body>
<script type="text/javascript">
var showPosition = function (position) {
document.write(position.coords.latitude + ',' + position.coords.longitude);
}
navigator.geolocation.getCurrentPosition(showPosition);
</script>
</body>
这个小脚本输出用户的经纬度位置。我不想在页面上输出它,而是想将经度和纬度存储在两个单独的变量中,这样我就可以获得用户位置和给定目的地之间的距离。我做了一些研究,我知道这只能使用 AJAX 来完成,但我不知道该怎么做。
这就是我的问题,如何将 JS 中的这些值存储在 PHP 变量中?
此外,如果有任何方法可以更快地计算用户位置与给定目的地之间的距离(以公里为单位),我愿意接受建议。
谢谢!
是的,你应该使用 AJAX。
请注意,JS(您打算使用它的方式)在客户端(在浏览器中)运行,php 在服务器上运行,在许多情况下会导致异步通信,因此 AJAX.
在您的 JavaScript 代码中,您需要创建一个可以处理通信的 XMLHttpRequest
对象:
var xhr = new XMLHttpRequest();
如何从服务器接收答案的示例:
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status == 200) {
// do something with xhr.responseText
}
}
}
发送数据的例子:
xhr.open("POST", "serverside.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(content);
content
将是您发送到服务器的数据,例如"c=HelloWorld"
在服务器端的 php 脚本中,您需要处理接收到的数据。它看起来像这样:
<?php
if (isset($_POST['c'])) {
echo htmlspecialchars($_POST['c'], ENT_QUOTES, 'UTF-8');
}
?>
服务器随后应响应 'HelloWorld'。
我有以下代码:
<!DOCTYPE html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API Example: Extraction of Geocoding Data</title>
</head>
<body>
<script type="text/javascript">
var showPosition = function (position) {
document.write(position.coords.latitude + ',' + position.coords.longitude);
}
navigator.geolocation.getCurrentPosition(showPosition);
</script>
</body>
这个小脚本输出用户的经纬度位置。我不想在页面上输出它,而是想将经度和纬度存储在两个单独的变量中,这样我就可以获得用户位置和给定目的地之间的距离。我做了一些研究,我知道这只能使用 AJAX 来完成,但我不知道该怎么做。
这就是我的问题,如何将 JS 中的这些值存储在 PHP 变量中?
此外,如果有任何方法可以更快地计算用户位置与给定目的地之间的距离(以公里为单位),我愿意接受建议。
谢谢!
是的,你应该使用 AJAX。
请注意,JS(您打算使用它的方式)在客户端(在浏览器中)运行,php 在服务器上运行,在许多情况下会导致异步通信,因此 AJAX.
在您的 JavaScript 代码中,您需要创建一个可以处理通信的 XMLHttpRequest
对象:
var xhr = new XMLHttpRequest();
如何从服务器接收答案的示例:
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status == 200) {
// do something with xhr.responseText
}
}
}
发送数据的例子:
xhr.open("POST", "serverside.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(content);
content
将是您发送到服务器的数据,例如"c=HelloWorld"
在服务器端的 php 脚本中,您需要处理接收到的数据。它看起来像这样:
<?php
if (isset($_POST['c'])) {
echo htmlspecialchars($_POST['c'], ENT_QUOTES, 'UTF-8');
}
?>
服务器随后应响应 'HelloWorld'。