繁体   English   中英

使用javascript处理php发送的JSON数据

[英]processing JSON data sent by php with javascript

我通过JSON在PHP和JavaScript之间进行交互时遇到了问题。

PHP脚本从我的数据库中读取数据。 SQL结果由1行组成。

名字| lat | LNG


Kilian | 45.1252335 | 32.2142380

它被编码为JSON:

$query = "SELECT name, lat, lng FROM location l, user u WHERE u.email = l.email";
$result = mysqli_query ($dbc, $query) or die ('Error querying database.');
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
    $to_encode[] = $row;
}
echo json_encode($to_encode);

JavaScript程序从php-script(get_locations.php)加载JSON文件:

$.getJSON('get_locations.php', function (data) {
        $.each(data, function(i, name) {
            alert(name.parent_level);
        });
    });

但是浏览器中没有警报。 如果我检查Chrome中发送的JSON,它只是说[]。 我如何获得发送的名称,lat和lng?

编辑:get_locations.php的实际输出是[]。 将JSON转换为字符串总是导致[]。

你是混合功能:

$query = "SELECT name, lat, lng FROM location l, user u WHERE u.email = l.email";
$result = mysqli_query ($dbc, $query) or die ('Error querying database.');
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
    $to_encode[] = $row;
}
echo json_encode($to_encode);

您创建了一个mysqli查询,因此您应该使用mysqli_fetch_assoc而不是mysql_版本获得结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM