Mic*_*son 9 javascript php json angularjs
我正在尝试从php文件中获取json数据以在Angular控制器中使用.我json_encode(pg_fetch_assoc($result));
在php文件中回显,当我console.log($scope.contents);
在角度控制器中它带回了json数据,但当我尝试做一个时它回来了ng-repeat
controllers.js:
myApp.controller('ContentCtrl', function ($scope, $http) {
$http({method: 'GET', url: 'content.php'}).success(function(data) {
$scope.contents = data;
});
});
Run Code Online (Sandbox Code Playgroud)
content.php:
<?php
require_once("sdb.php");
$result = pg_query($dbconn, "SELECT * FROM content ORDER BY name ASC");
echo json_encode(pg_fetch_assoc($result));
Run Code Online (Sandbox Code Playgroud)
index.php:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="css/style.css"/>
</head>
<body ng-app="myApp">
<div ng-controller="ContentCtrl">
<ul>
<li ng-repeat="content in contents">
<a href="#">{{content.name}}</a>
</li>
</ul>
</div>
</body>
<script src="js/jquery-1.10.2.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/controllers.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)
kis*_*swa 19
您希望实际将数据作为JSON发送.要做到这一点,您只需要header('Content-Type: application/json');
在echo
声明之前添加.所以content.php变成:
<?php
require_once("sdb.php");
$result = pg_query($dbconn, "SELECT * FROM content ORDER BY name ASC");
header('Content-Type: application/json');
echo json_encode(pg_fetch_assoc($result));
Run Code Online (Sandbox Code Playgroud)
另外,您可能需要对控制器执行一些操作.我会改变这个:
myApp.controller('ContentCtrl', function ($scope, $http) {
$http({method: 'GET', url: 'content.php'}).success(function(data) {
$scope.contents = data;
});
});
Run Code Online (Sandbox Code Playgroud)
对此:
myApp.controller('ContentCtrl', ['$scope', '$http', function ($scope, $http) {
$http.get('content.php')
.success(function(data) {
$scope.contents = data;
});
}]);
Run Code Online (Sandbox Code Playgroud)
'$scope', '$http',
功能定义之前的附加功能允许您在将来缩小,这.get
只是个人偏好,但我认为阅读起来更清晰.
归档时间: |
|
查看次数: |
30204 次 |
最近记录: |