Javascript AngularJS$http服务的问题

Javascript AngularJS$http服务的问题,javascript,php,mysql,angularjs,Javascript,Php,Mysql,Angularjs,下面的代码应该使用$http服务从MySQL数据库中获取数据,但是服务提供的数据不会进入控制器/显示错误:/。如果启动应用程序,我的页面上会显示一个空的或错误的表 我在getUsers()函数中提供了一些示例数据。提供数据的PHP代码正在工作,这是JSONPHP返回的示例 也许你们能帮我解决这个问题 var-app=angular.module('DBapp',[]); app.controller('MainCtrl',函数($scope,$http,DatabaseService){ $s

下面的代码应该使用
$http服务
从MySQL数据库中获取数据,但是
服务
提供的数据不会进入控制器/显示错误:/。如果启动应用程序,我的页面上会显示一个空的或错误的表

我在
getUsers()
函数中提供了一些示例数据。提供数据的
PHP
代码正在工作,这是
JSON
PHP返回的示例

也许你们能帮我解决这个问题

var-app=angular.module('DBapp',[]);
app.controller('MainCtrl',函数($scope,$http,DatabaseService){
$scope.userData=DatabaseService.getUsers();
});
app.factory('DatabaseService',函数($http){
var srv={};
//服务实现
srv.getUsers=函数(){
return[{“user_id”:“1”,“firstname”:“Barrack”,“lastname”:“Obama”,“email”:obama@web.de},{“用户名”:“2”,“名”:“汤姆”,“姓”:“汉克斯”,“电子邮件”:tommy@web.de},{“用户名”:“6”,“名字”:“Felix”,“姓氏”:“Blume”,“电子邮件”:“Felix”。b@selfmade.de"}];
};
//我在getUsers函数中提供了一些虚拟数据,作为DB的示例输出
//公共API
返回{
getUsers:function(){
返回srv.getUsers();
}
};
});

分贝试验
概述数据库

如果您只是从服务中返回数组(如

return {
    getUsers: function() {
        return srv.getUsers;
    }
};
您使用的函数调用是不可能的

好,下面是第2部分: 我没有机会测试它,但它应该能工作

app.factory('DatabaseService', function($http) {    
    var srv = {};

    //Service Implementation        
    $http.post("php/getData.php").success(function(data) {
            srv.users = data;
        });     

    //Public API        
    return {
        getUsers: function() {
            return srv.users;
        }
    };
});
Jorg是对的,第二部分是仓促的反应,对不起。要返回promise是一个可能的解决方案,请返回$http.post(“php/getDat.php”),然后在控制器中添加success函数

DatabaseService.getUsers().success(函数(数据){
$scope.userData=数据;

});我看不到您在哪里使用$http服务
getUsers
也不是函数,您将其声明为array@Jorg把它修好了。正如您在第一个代码段中所看到的,它可以处理虚拟数据,但不能处理实际请求。文档相当清晰。到目前为止,您尝试了什么?有几种方法和变量用于在控制器作用域值中传递从服务返回的数据。但是workedIt对数组不起作用,但是我需要使用$http请求从数据库获取数据。我猜第二个代码片段中的functin是错误的。如何使用$http调用的success函数将返回的数据传递给某个对象,就像直接使用数组一样。您的服务应该返回这个对象。您的函数srv.getUsers调用$http调用并注册成功回调,但不返回任何内容。您可以提供一些示例代码以便更好地理解吗?这行不通。使用“getUsers”时,请求尚未完成。你应该归还承诺或注入callback@jorg是的,它不起作用。但我会把重点放在你的想法上。