2016-03-28 72 views
0

当我的页面加载时,我想从数据库加载数据。我得到通过角的HTTP模块的数据像这样的东西:

var getdata = function(){ 
    var params = { 
     userId : 123, 
    }; 
    $http.post("url", params) 
    .success(function(data,status,headers,config){ 
     alert("success"); 
    }).error(function(){ 
     alert("Failed to connect with server"); 
    }); 
}; 

在我的控制,我创建了一个名为的onLoad并调用它下面的函数:

var onLoad = function(){ 
    getData(); 
    console.log("load page"); 
}; 
onLoad(); 

不过,我得到以下错误,当我导航到页面 错误:[$ rootScope:inprog] http://errors.angularjs.org/1.5.0/ $ rootScope/inprog?p0 =%24digest

有什么可能出错?谢谢!

+0

你能告诉我们更多的代码吗? – inspired

回答

0

这是得到的数据我不知道什么depedencies你在你的控制器中加入的情况下,如果你没有,那么这是这样做的

 var app = angular.module('myApp', []); 
     app.controller('myCtrl', function($scope, $http) { 
    $http({ 
    method : "POST", 
    url : Your Url 
}).then(function mySucces(response) { 
    $scope.myWelcome = response.data; 
}, function myError(response) { 
    $scope.myWelcome = response.statusText; 
}); 
    }); 
+0

不,$ $ http语法是绝对正确的。只是params应该由'body'或'data'来定义 –

+0

$ http应该作为参数传递给控制器​​ –

+0

我知道Bro但他没有显示他定义控制器的依赖注入或参数列表。 –

0
正确的方式方法还有一件事

您的代码中存在一个小错误,您在此显示的是拼写错误getData()调用不正确,因为您已使用getdata()定义了您的函数。

我已经创建了一个fiddle从你的代码,它的工作非常好。

angular.module('myApp', []) 
    .controller('myCtrl', function($scope, $http) { 
    $scope.sendPost = function() { 
     var data = $.param({ 
     json: JSON.stringify({ 
      name: $scope.newName 
     }) 
     }); 
     onLoad(data); 
    } 
    var getdata = function(data) { 
     $http.post("/echo/json/", data) 
     .success(function(data, status) { 
      console.log(data) 
      $scope.hello = data; 
     }) 
    }; 

    var onLoad = function(data) { 
     getdata(data); 
     console.log("load page"); 
    }; 

    $scope.hello = { 
     name: "Boaz" 
    }; 
    $scope.newName = ""; 

    }) 

此错误不是由您在此显示的代码产生的。解决此错误后,请使用相关代码更新您的问题。

希望它有帮助