Javascript 如何从{$$state:Object}获取数据?
我尝试使用工厂从数据库中获取数据。 我有一个问题,因为我不知道如何从工厂返回的对象中获取数据。这是我在使用console.log()函数时收到的信息:Javascript 如何从{$$state:Object}获取数据?,javascript,ajax,angularjs,Javascript,Ajax,Angularjs,我尝试使用工厂从数据库中获取数据。 我有一个问题,因为我不知道如何从工厂返回的对象中获取数据。这是我在使用console.log()函数时收到的信息: >d {$$state: Object} $$state: Object status: 1 value: Array[1] __proto__: Object __proto__: Object 这是我的工厂代码: application.factory('Database', ['$http', function($ht
>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;
}]);
这是我的控制器代码:
registration.controller('RegistrationController', ['$scope', 'Database', function($scope, Database) {
$scope.posts = Database.get("SELECT * FROM `group`");
console.log($scope.posts);
}]);
您应该从控制器传递回调函数,并在收到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;
}]);
控制器
registration.controller('RegistrationController', ['$scope', 'Database', function($scope, Database) {
Database.get("SELECT * FROM `group`", function(resp){
$scope.posts = resp;
console.log($scope.posts);
});
}]);
这在我的案例中有效:result.$$state.value 示例代码: 控制器:
promise = getConfigService.getAccount(protocol+hostName+port);
promise
.then(
function (result) {
var baseUrlTemp = result.$$state.value.baseURL;
console.log("BaseURL:"+baseURLTemp)
}
输出:
BaseURL:www.oneindia.com它正在返回一个承诺,您需要以这种方式处理它 在控制器中添加以下内容:
getSomething.getBla().then(function(response) {
console.log(response.data)
});
有关详细信息:“谢谢您的帮助:):)