如何使用Slim Framework API连接(路由)Angular?

时间:2016-01-16 01:19:19

标签: php angularjs api slim

我无法从服务中填充控制器中的JSON数据。

我对如何实际连接它们感到有些困惑。通过生成JSON调用该服务时工作正常。当我使用存储库时,控制器也可以正常工作。我省略了一些代码以节省空间。

问题可能在于控制器,我只是不知道是什么。我真的很感激一些启蒙。

角度控制器(root / app / user.controller.js)

preventDefault

PHP服务(root / api / index.php)

$(function() {
  $("a").click(function() {

    $("#header").addClass('animated fadeOutUpBig');
    return false;
  });
});
访问http://localhost/root/api/users

PHP服务

JSON结果

(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; 
        });
    }   
})();   

HTML视图(index.html)

<?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() .'}}'; 
    }
}    
?>

1 个答案:

答案 0 :(得分:1)

尝试删除网址中的前导/,因为这会告诉浏览器从网站的根目录开始...而不是在您希望它的目录中