【发布时间】:2016-07-11 18:21:27
【问题描述】:
我需要在我的地图上添加一些地理标记。 标记在我在 altervista.org 上的 mysql 表中 但是每次我尝试时我的 JavaScript 都会显示 [object Object]...
这里是我的 php 代码:
require('connect.php');
$query = "SELECT latit, longit FROM segnalazioni";
$result = mysql_query($query);
$rows = array();
while ($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
echo json_encode($rows);
它返回:
[{"latit":"12.34","longit":"12.34"},{"latit":"56.78","longit":"56.78"},...]
这里是我的 JavaScript:
function addMarker(mapobj) {
$.getJSON( "http://####.altervista.org/map.php", function( data ) {
var items = [];
$.each( data, function( key1 , val1 ) {
items.push( "<li id='" + key1 + "'>" + val1 + "</li>" );
//next todo:
//mapobj.marker([latit, longit]).addTo(map).bindPopup("hi");
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
});
}
在我 [body] 的尽头,我只能看到:
[object Object]
[object Object]
[object Object]
...
【问题讨论】:
-
请stop using
mysql_*functions。 These extensions 已在 PHP 7 中删除。了解 PDO 和 @987654325 的 prepared 语句@ 并考虑使用 PDO,it's really pretty easy。 -
你有一个对象数组。您的
data在数组上循环,这意味着key1只是0、1等......而val1是一个包含您的纬度/经度值的对象,而不是值本身 -
对于已弃用的功能,我深表歉意……不幸的是,这是一个用于学术目的的项目……