gpt4 book ai didi

javascript - 如何从 {$$state : Object}? 获取数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:11 25 4
gpt4 key购买 nike

我尝试使用工厂从数据库中获取数据。我有一个问题,因为我不知道如何从工厂返回的对象中获取数据。这是我在使用 console.log() 函数时收到的:

>d {$$state: Object}
$$state: Object
status: 1
value: Array[1]
__proto__: Object
__proto__: Object

这是我的工厂代码:

application.factory('Database', ['$http', function($http) {
var databaseFactory = {};
databaseFactory.get = function(query) {
return $http.get("getData.php", {params: {'query': query}}, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}})
.then(function (response) {
databaseFactory.returnedData = response.data;
return databaseFactory.returnedData;
})
}
return databaseFactory;
}]);

这是我的 Controller 代码:

registration.controller('RegistrationController', ['$scope', 'Database', function($scope, Database) {
$scope.posts = Database.get("SELECT * FROM `group`");
console.log($scope.posts);
}]);

最佳答案

您应该从 Controller 传递一个回调函数,并在收到 AJAX 响应后在您的工厂中执行它。您可以将代码更新为以下内容。

工厂

application.factory('Database', ['$http', function($http) {
var databaseFactory = {};
databaseFactory.get = function(query, callback) {
return $http.get("getData.php", {params: {'query': query}}, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}})
.then(function (response) {
databaseFactory.returnedData = response.data;
callback(databaseFactory.returnedData);
})
}
return databaseFactory;
}]);

Controller

registration.controller('RegistrationController', ['$scope', 'Database', function($scope, Database) {
Database.get("SELECT * FROM `group`", function(resp){
$scope.posts = resp;
console.log($scope.posts);
});

}]);

关于javascript - 如何从 {$$state : Object}? 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31974181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com