如何连接(路由)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 中的前导 /,因为这会告诉浏览器从网站的根目录开始......而不是在您想要的目录中