我有一个将纬度、经度值发送到我的 postgresql 数据库的应用程序。我想使用 jquery,ajax 在我的 OpenLayers 地图上相应地绘制更新点。但这是我坚持的地方:当我单击按钮时,正在发生具有数据库连接并将表的最后一个条目保存在数组中的 php 文件。
但是当我尝试在标记中使用输出时,什么都没有发生。
如何在我的函数中使用 php 的输出值?
这是我尝试使用的代码。
.php 文件:
<?php
$conn = pg_connect("host=xxx port=xxx dbname=xx user=postgres password=xxx");
$result = pg_exec($conn,"Query goes here");
$numrows = pg_numrows($result);
for($ri = 0; $ri < $numrows; $ri++)
{
$row = pg_fetch_array($result, $ri);
$data = array(); // create a variable to hold the information
$lat_latest[] = $row["latitude"];
$long_latest[] = $row["longitude"]; // add the row in to the results (data) array
}
pg_close($conn);
$js_lat = json_encode($lat_latest);
echo "var javascript_lat1 = ". $js_lat . ";\n";
$js_long = json_encode($long_latest);
echo "var javascript_long1 = ". $js_long . ";\n";
?>
我的页面代码是:
function init(){
//openlayers map code is here.
$("button").click(function(){
$.get("dataconn.php",function(data,status){
alert("Data:"+data+"Status:" +status);
var extra_point = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(parseFloat(javascript_long1[0]),parseFloat(javascript_lat1[0])),
{some:'data'},
{externalGraphic: 'images1/marker-gold.png', graphicHeight: 16, graphicWidth: 16});
vectorLayer1.addFeatures([extra_point]);
});
});
}
</script>
</head>
<body onload='init();'>
<div id="map" style = 'width: 1075px; height: 485px'>
<button> Update </button>
</div>
单击更新按钮时我收到的警报是
Data:
var javascript_lat1 = ["output of the query"];
var javascript_long1 = ["output of the query"];
Status : success
我尝试访问查询输出值的方式是否正确?请帮忙。对不起,如果这是一个愚蠢的问题。我是 jquery 的新手。