我想处理Json
文件返回的php
数组。 PHP
代码如下。
$pdo = new PDO('');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * from table';
foreach ($pdo->query($sql) as $row)
{
$results[] = array('row1' =>$row['col1'],
'row2' => $row['col2'],
'row3' => $row['col3']);
}
header('Content-Type: application/json');
echo json_encode($results);
上面的代码会像这样返回Json
数组
[
{"row1":"test","row2":"5.123456","row3":"6.123456"},
{"row1":"test1","row2":"6.123456","row3":"8.123654"},
{"row1":"test3","row2":"6.321456","row3":"8.964512"}
]
我想处理上面的Json
数组并将其显示在表中。我尝试了许多Jquery
代码并在电脑前花了好几个小时。但我无法得到正确的答案。请帮我。请帮助我提供正确的Jquery
代码来处理Json
数组,或者提供正确的PHP
代码以发送正确的Json
字符串。我忘了说另一个信息。当我尝试使用FF进行调试时,我在控制台中出现错误
http://i.stack.imgur.com/tnLcZ.jpg
(图片显示:SyntaxError:JSON.parse:意外的数据结束)
更新
我像这样更新你的脚本。脚本什么都不返回。请帮忙
var html="<table border=1 style='border-collapse:collapse'>";
$(document).ready(function () {
$.ajax({
url: "http://10.44.0.160/service.php",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
type: "POST",
success: function(data)
{
data.forEach(function(obj,index){html+="<tr><td>"+index+"<td>"+obj.csc_name+"</td><td>"+obj.lat+"</td><td>"+obj.longi+"</td></tr>";});
html+="</table>";
jQuery(html).appendTo("body");
}
});
});
答案 0 :(得分:0)
使用each循环抛出你的json数据
<script type="text/javascript">
$.each(yourData, function(key, val) {
//your code here
alert(key + '=' + val)
});
</script>
答案 1 :(得分:0)
var html="<table border=1 style='border-collapse:collapse'>";
var json=[
{"row1":"test","row2":"5.123456","row3":"6.123456"},
{"row1":"test1","row2":"6.123456","row3":"8.123654"},
{"row1":"test3","row2":"6.321456","row3":"8.964512"}
];
json.forEach(function(obj,index){html+="<tr><td>"+index+"<td>"+obj.row1+"</td> <td>"+obj.row2+"</td><td>"+obj.row3+"</td></tr>";});
html+="</table>";
jQuery(html).appendTo("body");
看看这个小提琴 http://jsfiddle.net/TdM8s/