【发布时间】:2015-10-06 13:14:51
【问题描述】:
我正在尝试使用 angular 和 php 从 mysql 数据库中检索数据。
在角度我使用以下代码:
$http({ url: "http://domain.com/script.php",
method: "POST",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: $.param({clubid:$localStorage.choosenClub.ClubID})
}).success(function(data) {
console.log(data);
}).error(function(data) {
console.log("error:" + data);
})
.finally(function () {
//Do something on finish
});
在我的 PHP 脚本中,我正在执行以下操作:
$sql = "SELECT * FROM events WHERE club_id='$club'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo('[');
echo json_encode($row);
echo(']');
}
} else {
echo "0 results";
}
当我的 mysql 数据库中有一行数据时,上面的代码将为我提供一个数组中的对象:
[{"event_id":"123456","club_id":"12345","organizer":"name","date":"2016-04-24","time":"08:00:00","title":"test title"}]
根据上述结果,我可以使用 angular $http(上面的代码)检索 de 数据,并且可以使用 ng-repeat 将其填充到我的页面上,没有任何问题。
当我在我的 mysql 数据库中添加更多包含数据的行时,它不再工作了。 例如,当我的 mysql 数据库中有两行数据时,结果如下所示:
[{"event_id":"123456","club_id":"12345","organizer":"name","date":"2016-04-24","time":"08:00:00","title":"test title"}][{"event_id":"98765","club_id":"526789","organizer":"name","date":"2016-04-24","time":"08:00:00","title":"test title"}]
我在控制台中收到以下错误:
错误:JSON 解析错误:无法解析 JSON 字符串 parse@[native 代码]
我认为(如果我错了,请纠正我)格式化多行数据有问题。 当我有一行数据时,它是数组中的一个对象,当我有多行数据时,它们不再是数组中的对象。
我做错了什么?
【问题讨论】:
标签: php arrays angularjs object post