0

我想处理文件Json返回的数组phpPHP代码如下。

$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");
}
            });
        });
4

2 回答 2

0

使用 each 循环抛出你的 json 数据

<script type="text/javascript">
    $.each(yourData, function(key, val) {

           //your code here
           alert(key + '=' + val)

     });
 </script>
于 2013-10-04T10:35:27.320 回答
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/

于 2013-10-04T10:47:59.603 回答