我正在创建一个新的角度应用程序和使用工厂,但当我收到一个错误
错误:[$ injector:undef] http://errors.angularjs.org/1.4.5/ $ injector / undef?p0 =错误(本机)位于https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:6:416处于Object . $ get(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:37:32)位于Object.e [作为调用](https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:39:96)位于https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:40:410处于d(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:38:308) at e(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:39:64)at Object.g.instantiate(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:39:213)at b . $ get(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js:80:257)at s(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js:12:165)
var app = angular.module('testapp', ['ngRoute']);
app.config(['$routeProvider',
function ($routeProvider) {
$routeProvider.
when('/userlist', {
title: 'List of all the users',
templateUrl: 'userlist.html',
controller: 'listuser'
})
.when('/profile',{
title:'user detail page',
templateUrl:'profile.html',
controller:'listuser'
})
.otherwise({
redirectTo: '/userlist'
});
}])
app.factory("Data", ['$http','$log',
function ($http,$log) {
var obj = {};
obj.post = function (q, object) {
return $http({
method: 'POST',
url:'userdetail.php',
data: object.user
})
.then(function (results) {
$log.log(results);
return results.data;
});
};
}]);
app.controller('listuser',['Data', function ($scope,$http,$log,$window,Data) {
$scope.userdetail = {};
var init = function () {
$http({
method: 'POST',
url: 'apisource.php',
})
.then(function (results) {
$scope.data=results.data;
});
};
init();
$scope.douserdetail = function(user) {
Data.post({
user: user
}).then(function (results) {
if (results.status == "success") {
//$location.path('dashboard');
}
});
};
}]);
3 回答
角度的工厂函数应该返回一个对象,但是
"Data"
工厂不会返回任何内容 . 只需在工厂功能结束时添加以下内容即可解决问题:看看你的stacktrace中提供的link . 您的工厂必须返回一个值:
有很多错误,在控制器中你使用$ http,目的是什么
你在init中调用init()会导致无限循环
你的服务没有返回任何东西
我建议首先检查基本角度