将$ http .success函数中的变量分配给$ scope.variable

时间:2013-12-02 20:36:49

标签: angularjs

$ scope.restaurants变量为空。如何将数据传递给$ scope.restaurants?

FoodSearchControllers.controller('homeCtrl', ['$scope', '$http', function($scope, $http) {
//restoranai
$http.post('http://appdev.milasevicius.com/server/index.php', {
    "query": "SELECT * FROM n01_restaurant"
}).success(function(data, status) {
    $scope.restaurants = data;
}).error(function(data, status) {
    $scope.data = data || "Request failed";
    $scope.status = status;
});

console.log($scope.restaurants);
}]);

此外,控制器被调用两次。那是为什么?

1 个答案:

答案 0 :(得分:1)

您的console.log会在$http来电可能尚未返回的位置被呼叫。 post是异步调用,因此如果您在console.log函数中移动success,则应该看到它。简而言之,$scope.restaurants很可能正在填充,但您要过早检查它。