获取从php到javascript的查询变量
尝试在google地图上绘制标记的新方法,从数据库中查询我的lat/long。当我在jquery脚本标记中创建变量时,它可以工作,但我无法在该脚本之外进行调用。但是,当我尝试使用脚本之外的php数组中的json_编码设置这些变量时,控制台返回 未捕获的语法错误:意外标记获取从php到javascript的查询变量,javascript,php,jquery,maps,Javascript,Php,Jquery,Maps,尝试在google地图上绘制标记的新方法,从数据库中查询我的lat/long。当我在jquery脚本标记中创建变量时,它可以工作,但我无法在该脚本之外进行调用。但是,当我尝试使用脚本之外的php数组中的json_编码设置这些变量时,控制台返回 未捕获的语法错误:意外标记 函数初始化(){ var mylatng=newgoogle.maps.LatLng(38.4403,-122.5463); 变量映射选项={ 缩放:10, 中心:myLatlng } var map=new google.ma
#地图{
宽度:1200px;
高度:900px;
}
>
函数初始化(){
var mylatng=newgoogle.maps.LatLng(38.4403,-122.5463);
变量映射选项={
缩放:10,
中心:myLatlng
}
var map=new google.maps.map(document.getElementById(“map”)、mapOptions);
var marker=new google.maps.marker({
职位:myLatlng,
标题:“你好,世界!”
});
marker.setMap(map);
}
var纬度=;
变量经度=;
var LatLong=new google.maps.LatLng(纬度、经度);
var marker1=新的google.maps.Marker({
职位:拉特朗;
标题:“测试”
});
marker1.setMap(map);
通过数据库查询的PHP:
<?php
require("server_info.php");
$connection=db2_connect($database, $username, $password);
if (!$connection) { die('Not connected : ' . db2_conn_error());}
$query = "SELECT lat,long FROM SCHOOL";
$stmt = db2_prepare($connection, $query);
$result = db2_execute($stmt);
$lat = array();
$long = array();
while ($row = db2_fetch_array($stmt)) {
$lat = $row[0];
$long = $row[1];
}
//echo json_encode($lat);
//echo json_encode($long);
db2_close($connection);
?>
问题是您的文件名为
index.html
。默认情况下,仅使用php执行后缀为.php
的文件。由于它有一个.html
扩展名,Web服务器只是将文件逐字返回到浏览器,而不是通过PHP运行,因此
被发送到客户端,这是无效的Javascript
您应该将它重命名为index.php
,然后使用php执行它,并替换变量
但问题似乎不止这些。您从未在脚本中的任何位置设置变量$lat
和$long
。您正在用完全不同的脚本设置它们
您可能应该使用AJAX从Javascript调用查询脚本。这看起来像是一个JS错误,这意味着您可能是从一个.html文件运行该脚本,该文件通常不是作为php执行的。如果您在该页面上查看源代码,您会看到原始php代码吗?@neilsimp1:no.json_Encode会处理所有事情。OP只需要提供
这个错误经常发生在.js
文件中有HTML时.js
文件不应在代码周围包含
。如果您在浏览器中看到php代码,则它不会在服务器上执行。e、 g.您需要将其重命名为.php,或者告诉您的服务器将.html文件视为php脚本。@Barmar:如果是.js文件,那么错误将出现在第1行,因为html根本不是有效的js。好的,在做了一些研究之后,这听起来差不多了。我确实不熟悉服务器端web编程,但我将研究ajax。
<?php
require("server_info.php");
$connection=db2_connect($database, $username, $password);
if (!$connection) { die('Not connected : ' . db2_conn_error());}
$query = "SELECT lat,long FROM SCHOOL";
$stmt = db2_prepare($connection, $query);
$result = db2_execute($stmt);
$lat = array();
$long = array();
while ($row = db2_fetch_array($stmt)) {
$lat = $row[0];
$long = $row[1];
}
//echo json_encode($lat);
//echo json_encode($long);
db2_close($connection);
?>