0
我想顯示一個使用Angular的表,但它不會顯示。有什麼不對嗎?下面的代碼。該表位於源代碼中,但不會在其中生成任何內容。我是Angular的新手。Angular SQL - 有什麼缺失?
前端
<div ng-app="musicApp" ng-controller="musicCtrl">
<table>
<tr ng-repeat="x in names">
<td>{{ x.Name }}</td>
<td>{{ x.SongArtist }}</td>
<td>{{ x.SongAlbum }}</td>
</tr>
</table>
</div>
<script>
var app = angular.module('musicApp', []);
app.controller('musicCtrl', function($scope, $http) {
$http.get("http://rhys-bennett.uk/AIDc3391265/includes/formatjson.php")
.then(function (response) {$scope.names = response.records;});
});
</script>
後端PHP
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$result = $conn->query("SELECT song_name, song_artist, song_album FROM musictable");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["song_name"] . '",';
$outp .= '"SongArtist":"' . $rs["song_artist"] . '",';
$outp .= '"SongAlbum":"'. $rs["song_album"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo($outp);
?>
Whaaat?你正在手動構建JSON字符串?這太容易出錯了。只需在PHP中創建正確的結構,然後使用'json_encode()'編碼它' – vuryss
你知道有一個[json_encode()](http://php.net/manual/en/function.json-encode.php)函數你不需要手動拼湊json,對吧?另外,請檢查您的瀏覽器的網絡控制檯。您的請求是否被髮送?什麼是迴應? –
直接:問題幾乎可以肯定是你手動編碼的JSON。相反,你應該簡單地把記錄放在一個數組中然後json_encode:'$ json = []; while($ rs = $ result-> fetch_array(MYSQLI_ASSOC)){$ json [] = $ rs;} echo json_encode($ json); die();' –