加载页面时,我希望从数据库加载数据。我通过angular的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=%24摘要
可能出了什么问题?非常感谢。
您的代码中有一个小错误,这里显示的是拼写错误getData()
调用不正确,因为您用getdata()
定义了函数。
我用你的代码创建了一个小提琴,它工作得很好。
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 = "";
})
此错误不是由您在此处显示的代码累积的。解决此错误后,请使用相关代码更新您的问题。
希望它能帮助
这是获取数据的方法,还有一件事我不知道你在控制器中添加了什么dependencies,如果你没有添加,那么这是正确的方法
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;
});
});