我有一个从php
获取参数的javascript函数在加载页面后执行javascript函数
我在我的php变量上设置初始设置
设置我的javascript函数
做一些php魔术,重新分配我的php变量
当我的javascript函数加载时 - 它使用我的初始值而不是它们最后分配的值。
$lat = 0;
$lon = 0;
<script>
var map;
function initialize(lat,lon) {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(lat,lon)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', function () { initialize(<?php echo $lat ?>,<?php echo $lon ?>); });
</script>
$lat = $newvallat;
$lon = $newval;
使用参数0,0
调用该函数我可以稍后调用addDomListener吗?
答案 0 :(得分:1)
Javascript是一种客户端语言。 PHP是一种服务器端语言。您不能在一次运行中使用Javascript在同一脚本中将参数传递给PHP。对于您要执行的操作,您希望AJAX使用Javascript DOMListener触发的内容调用PHP文件。
为了回答你的问题,Javascript在浏览器加载的瞬间“运行”,而PHP在服务器读取时被解析(因此,之前浏览器获取并解析输出)。
答案 1 :(得分:0)
Echo将变量的当前值放入响应中。更改该变量对JavaScript没有任何影响,因为它正在获得回显的内容。
JavaScript在页面呈现给浏览器后运行,无论服务器上构建了什么值。
你可以使用Ajax来获得你想要的效果。
答案 2 :(得分:0)
您是否尝试过浏览Google教程? https://developers.google.com/maps/articles/phpsqlajax_v3
在我提供的链接中,它将向您展示如何首先将标记保存到XML文档,然后根据需要使用它。如果您需要更多说明,可以在那里提供更多链接。我发现Google地图甚至还有很好的文档和教程。