我正在 w3schools 尝试以下 AngularJS 教程。
我更改了脚本以使其与我的 PHP 脚本之一一起工作:
<!DOCTYPE html>
<html >
<style>
table, th , td {
border: 1px solid grey;
border-collapse: collapse;
padding: 5px;
}
table tr:nth-child(odd) {
background-color: #f1f1f1;
}
table tr:nth-child(even) {
background-color: #ffffff;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<table>
<tr ng-repeat="x in names">
<td>{{ x.name }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("http://wirtschaftsinformatik.web2page.ch/selectModule.php")
//my url
.then(function (response) {$scope.names = response.data.records;});
});
</script>
</body>
</html>
这实际上是行不通的。我猜是因为 php 文件,代码如下:
<?PHP
//Verbindung zur Datenbank
include "inc_mysql.php";
//SQL-String
$select = "SELECT * FROM module ORDER BY name ASC";
// Codierung
mysql_set_charset("utf8");
//SQL-Befehl in Variable speichern
$sql = mysql_query($select);
//Array erstellen
$jsonArray = array();
while ($row = mysql_fetch_array($sql)){
$jsonArray[] = $row;
}
echo json_encode($jsonArray, JSON_UNESCAPED_UNICODE);
?>
你知道缺少了什么吗?
这是 JSON 输出
[{"0":"12","id":"12","1":"Betriebsbuchhaltung","name":"Betriebsbuchhaltung","2":"2016-10-19 15:44:16","timestamp":"2016-10-19 15:44:16"},{"0":"13","id":"13","1":"Datenbanken","name":"Datenbanken","2":"2016-10-28 20:35:49","timestamp":"2016-10-28 20:35:49"},{"0":"6","id":"6","1":"Logistik","name":"Logistik","2":"0000-00-00 00:00:00","timestamp":"0000-00-00 00:00:00"},{"0":"14","id":"14","1":"Statistik","name":"Statistik","2":"2016-11-02 15:13:13","timestamp":"2016-11-02 15:13:13"},{"0":"1","id":"1","1":"System Engineering","name":"System Engineering","2":"0000-00-00 00:00:00","timestamp":"0000-00-00 00:00:00"}]
最佳答案
返回的json没有records属性,这是一个简单的解决方案:
echo json_encode(["records"=>$jsonArray], JSON_UNESCAPED_UNICODE);
关于javascript - AngularJS:从 php 脚本获取 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40818948/