我正在使用angular js脚本从html页面中的json编码的外部php文件中获取数据。我使用$http.get(page2.php)
方法来获取写在另一个文件中的json编码数组。但问题是它没有显示任何输出只是一个空白屏幕我不知道我在哪里做错了。
此处page1.html
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
var app = angular.module('myapp',[]);
app.controller('myctrl',function($scope,$http){
$http.get('page2.php').success(function(response){
$scope.names = response;
});
});
</script>
</head>
<body>
<div>
<table ng-app="myapp" ng-controler="myctrl" >
<tr ng-repeat="x in names">
<td>{{ x.id }}</td>
<td>{{ x.name }}</td>
<td>{{ x.age }}</td>
</tr>
</table>
</div>
</body>
</html>
此处page2.php
<?php
$con = mysqli_connect('localhost','root','','practice');
if(!$con){
die("couldnt connect".mysqli_error);
}
$query = "SELECT * FROM records";
$result = $con->query($query);
$r = array();
if( $result->num_rows>0){
while($row = $result->fetch_assoc()){
$r[] = $row;
}
}
$res = htmlspecialchars(json_encode($r));
echo $res;
?>
我无法弄清楚我在哪里做错了。
答案 0 :(得分:2)
如果您确定要从查询中获取数据,则只需将其作为JSON发送即可。在echo $res;
行之前添加此内容:
header('Content-Type: application/json');