我需要将函数中的java脚本变量的值分配给同一文件中的php变量中
I need to assign a value of java-script variable inside in function into php variable in a same file
我需要将computeTotalDistance()函数中的总值获取到php变量中。我尝试了很多方法,但毫无意义。
var rendererOptions = {
draggable: true
};
var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
;
var directionsService = new google.maps.DirectionsService();
var map;
var Srilanka = new google.maps.LatLng(6.9344, 79.8428);
function initialize() {
var mapOptions = {
zoom: 8,
center: Srilanka
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
google.maps.event.addListener(directionsDisplay, 'directions_changed', function () {
computeTotalDistance(directionsDisplay.getDirections());
});
calcRoute();
}
function calcRoute() {
var locations = ['Galle', 'Kandy', 'minneriya wildlife park', 'Horton Plains'];
var waypoints = locations.map(function(loc) {
return { 'location': loc };
});
var request = {
origin: 'Colombo',
destination: 'Colombo',
waypoints: waypoints,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
function computeTotalDistance(result) {
var total = 0;
var myroute = result.routes[0];
for (var i = 0; i < myroute.legs.length; i++) {
total += myroute.legs[i].distance.value;
}
total = total / 1000.0;
document.getElementById('total').innerHTML = total + ' km';
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
我使用了以下一个,但我对如何使用它捕获返回值感到困惑。
<?php
$tot = echo "<script>document.writeln();</script>";
?>
我如何将此总距离值分配给$tot值。
你对两种语言的存在感到困惑。你忘记了你的Javascript将在客户端的浏览器中运行。PHP 将在服务器上运行。将 JavaScript 值获取到服务器的唯一方法是使用 HTTP 表单中的隐藏字段或通过 ajax 调用将其 HTTP POST/GET 发送到服务器。
我能想到的唯一方法是使用 JavaScript 将带有参数的 URL 发回,例如:
http://www.example.com/index.php?id=1
。通过使用这样的东西,你可以在JavaScript中应用它:
window.location.href="index.php?value=1";
然后在 PHP 代码中使用 $_GET
:
$somevar = $_GET["value"]; //puts the uid varialbe into $somevar
我们在这里展示的 JavaScript 是客户端的......
由于PHP在服务器端级别,我们必须通过HTTP请求来获取它。 HTTP 请求基本上是客户端和服务器之间的通信。
JavaScript 在其中实现了一个名为 Ajax 的小型库,它代表异步 JavaScript 和 XML(XML 在这里并不重要)。
Ajax 允许我们在脚本中异步执行 HTTP 请求,并使用服务器具有的响应。
为了使事情在语法上更容易理解,我将使用jQuery,它提供了一个易于使用的Ajax库。
有了这个,你可以构造一个请求,也可以相当容易地处理响应...... 让我们试试这个,例如:
$.ajax({
"url": "index.php",
"type": "POST",
"data": {"testing":true},
"success": function(response){
console.log(response);
}
});
这提供了,我们获取我们的index.php
文件,并说我们有以下代码:
<?php
if(isset($_POST["testing"])) {
echo $_POST["testing"] ? "Hello" : "Goodbye";
}
?>
现在回到 Ajax 函数.... 在"success"
处理程序中,我们告诉它记录任何响应。 由于我们的 PHP 旨在根据我们发送的"testing"
数据的值说"Hello"
或"Goodbye"
,这将提供一个非常直接的响应...... 在我们的例子中,它会记录"Hello"
.
这显示了如何通过 Ajax 在客户端和服务器之间创建关系,从而使我们能够更轻松地来回交换数据。
- Javascript 将变量分配给警报
- Javascript变量分配-按类别
- 为变量分配多个nodejs导出返回值时出现问题
- 使用Javascript中的回调处理变量分配
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 使用一个表达式将两个变量分配给相同的值
- 将变量分配给函数在JavaScript中不起作用
- 如何在yahoo weather中将变量分配到javascript src脚本中
- 服务变量分配了数据,但在访问时始终未定义
- 如何在用户单击提交按钮时为变量分配任意值
- 将JavaScript变量分配给同一页面上的PHP变量
- Javascript是否为具有未定义值的变量分配32位内存
- 为变量分配回调函数
- 如何在javascript中为单个变量分配多个值
- 将全局变量分配给以下 Javascript
- 如何将变量分配给链接中包含的信息?(Javascript/HTML)
- 如果我为 JS 变量分配一个新值,它会破坏它的绑定吗?
- 如何将 javascript 变量分配给隐藏的输入
- 为变量分配有限集合中的随机元素
- 如何使用由多行组成的 django 模板变量分配 javascript 变量