2
我无法从服务中填充控制器中的JSON数据。如何使用Slim框架API连接(路由)Angular?
我有点卡住了如何实际连接它们。该服务通过生成JSON进行调用时工作正常。当我使用存储库时,控制器也可以工作。为了节省空间,我省略了一些代码。
问题可能出在控制器上,我只是不知道是什么。我真的很感激一些启发。
角控制器(根/应用/ user.controller.js)
(function() {
angular
.module('app')
.controller('UserController', UserController);
function UserController($http) {
var that = this;
$http({
method: 'GET',
url: '/api/users'
}).success(function(data) {
that.users = data;
});
}
})();
PHP服务(根/ API/index.php的)
<?php
require 'vendor/autoload.php';
$app = new \Slim\App;
$app->get('/users', 'getUsers');
$app->run();
function getUsers() {
$sql = "select * FROM users ORDER BY id";
try {
$db = getConnection();
$stmt = $db->query($sql);
$wines = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo json_encode($wines);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
?>
JSON结果来自PHP服务通过访问http://localhost/root/api/users
[{"id":"1","username":"lucentx","first_name":"Aron","last_name":"Barbosa","address":"Manila, Philippines"},{"id":"2","username":"ozzy","first_name":"Ozzy","last_name":"Osbourne","address":"England"},{"id":"3","username":"tony","first_name":"Tony","last_name":"Iommi","address":"England"}]
HTML查看(的index.html)
<div class="col-md-4" ng-controller="UserController as userCtrl">
<ul class="list-group">
<li class="list-group-item" ng-repeat="user in userCtrl.users">
<p>{{user.id}} - {{user.username}}</p>
</li>
</ul>
</div>
不太清楚你的问题是什么 – charlietfl
@charlietfl我无法从服务中填充控制器中的数据。 – Ivan
检查浏览器开发工具网络中的实际请求,看看是什么状态,什么是返回等。我认为你有一个路径问题,因为你有一个领先的'/'。很好的借口添加'$ http'错误处理也是 – charlietfl