如何连接(路由)Angular 和 Slim Framework API?
How to connect (route) Angular with Slim Framework API?
我无法从服务中填充控制器中的 JSON 数据。
我对如何实际连接它们有点困惑。通过生成 JSON 调用该服务时工作正常。当我使用存储库时,控制器也能正常工作。我省略了一些代码以保存 space.
问题可能出在控制器上,我只是不知道是什么。我真的很感激一些启发。
Angular 控制器 (root/app/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 服务 (root/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>
尝试删除 url 中的前导 /
,因为这会告诉浏览器从网站的根目录开始......而不是在您想要的目录中
我无法从服务中填充控制器中的 JSON 数据。
我对如何实际连接它们有点困惑。通过生成 JSON 调用该服务时工作正常。当我使用存储库时,控制器也能正常工作。我省略了一些代码以保存 space.
问题可能出在控制器上,我只是不知道是什么。我真的很感激一些启发。
Angular 控制器 (root/app/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 服务 (root/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>
尝试删除 url 中的前导 /
,因为这会告诉浏览器从网站的根目录开始......而不是在您想要的目录中