2016-03-28 60 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 = ""; 

    }) 

此錯誤不是由您在此顯示的代碼產生的。解決此錯誤後,請使用相關代碼更新您的問題。

希望它有幫助

相關問題