我试图构建一个应用程序,它从数据库(mysql)获取用户数据(lat,lon),然后在Google地图上显示它们的位置。在谷歌地图中显示JSON响应
下面是代码示例:
function initMap() {
var mapDiv = document.getElementById('map');
var map = new google.maps.Map(mapDiv, {
center: {lat: 33.7167, lng: 73.0667},
zoom: 11
});
makeRequest('get_locations.php', function(data) {
//alert("abc");
var data = JSON.parse(data.responseText);
//window.alert(data);
for (var i = 0; i < data.length; i++) {
//display(data[i]);
displayLocation(data[i]);
}
});
}
function makeRequest(url, callback) {
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari
} else {
request = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5
}
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
callback(request);
}
}
request.open("GET", url, true);
request.send();
}
get_locations.php
<?php
include('connection.php');
$l= array();
$result = mysqli_query($con,"SELECT * FROM users");
while ($row = mysqli_fetch_assoc($result)) {
$l[] = $row;
}
$j = json_decode($l, true);
//echo $j;
?>
有些事情,我试图找到代码中的问题,但未能
在echo $ j上的get_location.php;它显示我正确的回应
在此行之前var data = JSON.parse(data.responseText);警报(“abc”)的作品,但不是在此之后,所以我认为这个问题居住在这条线,但不知道为什么发生, 任何想法?
在'get_location.php'你需要使用'json_encode'而不是' json_decode',你也需要回显它,所以ajax回调函数可以使用。 – RamRaider
哦,我怎么会想念这个?顺便说一句,谢谢你的回应:)它的工作 –