я пытаюсь прочитать данные из таблицы sql с помощью Angular, похоже, не могу найти мою проблему, потому что мой отладчик не распознает ее, приложен html и php файл, который я использую, любой из них будет высоко оценен.
вот код:
HTML + JS
<div ng-app="" ng-controller="customersController" class="container">
<p><input type="text" ng-model="name" class="form-control"></p><table class="table table-bordered">
<tr>
<th>Full Name</th>
<th>Email Address</th>
<th>Password</th>
</tr>
<tr ng-repeat="x in names | filter:name | orderBy:'Fullname'">
<td><a href="#">{{ x.Fullname }}</a></td>
<td>{{ x.Email }}</td>
<td>{{ x.Password }}</td>
</tr>
</table>
</div>
<script src="js/angular.min.js" type="text/javascript"></script>
<script>
function customersController($scope,$http) {
var page = "sql.php";
$http.get(page)
.success(function(response) {$scope.names = response;});
}
</script>
</body>
sql.php
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: text/html; charset=UTF-8");
$conn = new mysqli("localhost", "", "", "") or die(mysqli_error());
$result = $conn->query("SELECT * FROM `user` ORDER BY `id` ASC");
$outp = "[";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "[") {$outp .= ",";}
$outp .= '{"Full Name":"' . $rs["fullname"] . '",';
$outp .= '"Email":"' . $rs["emailAddress"] . '",';
$outp .= '"Password":"'. $rs["user_pass"] . '"}';
}
$outp .="]";
$conn->close();
echo($outp);
?>
Вы отправляете заголовок типа содержимого text / html, а затем создаете свою собственную строку json. Убейте этот заголовок и сделайте следующее:
$outp = array();
while( $rs = $result->fetch_array(MYSQLI_ASSOC) ) $outp[] = $rs;
$conn->close();
echo json_encode($outp);
exit();
Других решений пока нет …