我熟悉RESTful
api(CRUD
)与AngularJS
和Slim PHP
框架。我正在学习本教程:http://www.blog.iamaronbarbosa.com/building-a-basic-crud-application-using-angularjs-and-slim-php-framework-part-1/。当应用程序尝试GET
数据(文件:angular-crud/slim/index.php
),
function ListCtrl($scope, $http) {
$http.get('api/users').success(function(data) {
$scope.users = data;
});
}
我收到错误代码说明,
Status Code: HTTP/1.1 404 Not Found
获取数据的网址是:http://localhost/angular-crud/slim/api/users
。
修改
但是,如果我将网址应用为http://localhost/angular-crud/slim/api/index.php/users
,则会返回正确的数据。是否必须加入index.php
?如果没有,使用网址http://localhost/angular-crud/slim/api/users
检索数据的解决方法是什么?
我是这个领域的新手,如果问题含糊不清,我道歉。我尝试检查端口并使用RESTClient
运行测试但最终空手而归。关于此事的专家意见非常感谢:)
答案 0 :(得分:2)
通过index.php
路由的需要表明URL重写存在问题。来自文档:
Slim可以在没有URL重写的情况下工作。在这种情况下,您必须 包括实例化和运行的PHP文件的名称 资源URI中的Slim应用程序。
请参阅" Route URL Rewriting"有关如何在Apache和nginx中正确路由URL的详细信息,请参阅Slim文档的一部分。
答案 1 :(得分:1)
我想你的项目中必须有一个.htaccess文件,它将URL从http:// localhost / angular-crud / slim / api / users重写为http:// localhost / angular-crud / slim / API / index.php文件/用户。检查您的localhost是否允许.htaccess覆盖