我正在尝试在MySQL DB中显示数据。但是,我不断收到SyntaxError:Object.parse(native)的JSON输入的意外结束。
我的PHP文件获取数据是
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
include_once 'config/database.php';
include_once 'objects/ideas.php';
$database = new Database();
$db = $database->getConnection();
$ideas = new ideas($db);
$stmt = $ideas->readAll();
$num = $stmt->rowCount();
if($num>0){
$data="";
$x=1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
// extract row
// this will make $row['name'] to
// just $name only
extract($row);
$data .= '{';
$data .= '"id":"' . $id . '",';
$data .= '"name":"' . $name . '",';
$data .= '"description":"' . html_entity_decode($description) . '",';
$data .= '"SubmitedBy":"' . $SubmitedBy . '",';
$data .= '}';
$data .= $x<$num ? ',' : ''; $x++; }
}
// json format output
echo '{"records":[' . $data . ']}';
?>
我的AngularJS代码,
$scope.getAll = function() {
$http.get("read_ideas.php").success(function(response) {
$scope.names = response.records;
});
}
MySQL DB中的数据只是
id - 1
name - me
description - desc
SubmitedBy - me
created - 2016-05-19 14:13:10
modified - 2016-05-19 17:43:10
我无法弄清楚为什么它会一次又一次地抛出这个错误。
我知道它无论如何都无法解析db到JSON格式的数据。但是,我该如何解决呢。
答案 0 :(得分:1)
您实际上是在,
的最后一个值添加SubmitedBy
替换此
$data .= '"SubmitedBy":"' . $SubmitedBy . '",';
用这个
$data .= '"SubmitedBy":"' . $SubmitedBy;
答案 1 :(得分:0)
您在最后一个对象的末尾实际上有一个额外的,
,SubmitedBy
x)您必须删除它,所以它应该是
$data .= '"SubmitedBy":"' . $SubmitedBy . '";