我收到这个控制器的错误,$ http未定义。请告诉我缺少什么..
define(
['activityFeedTimeStamp' ],
function(app) {
app.register
.controller(
'timeStampController',
[
'$scope',
'$rootScope',
function($scope, $rootScope) {
$http.get('http://localhost:7001/ebiz/ebizdashboard/activityfeed/updatetimestamp').
success(function(data, status, headers, config) {
// $('#timeStampVal').html(data.lastacesstime);
$('#timeStampVal').html(hiiiiiiiii);
}).
error(function(data, status, headers, config) {
$("#timeStamp").hide();
});
}]);
});
答案 0 :(得分:3)
注入" $ http"像这样进入控制器:
.controller(
'timeStampController',
[
'$scope',
'$rootScope',
'$http', // need to inject $http into controller
function($scope, $rootScope, $http) {
基本上,您使用的任何服务(无论是您定义的服务还是内置的Angular,如$ http)都需要注入要使用的控制器中。
由于您正在使用minify-friendly控制器语法(列出数组和函数参数中的注入),因此您需要在两个位置添加它。
参见文档: https://docs.angularjs.org/guide/di (特别是"内联数组注释")
答案 1 :(得分:2)
我在使用
时遇到了同样的问题 myApp.controller('mainController', ['$scope', function($scope,) {
//$http was not working in this
}]);
我已将上面的代码更改为以下内容。请记住包含$ http(2次),如下所示。
myApp.controller('mainController', ['$scope','$http', function($scope,$http) {
//$http is working in this
}]);
它运作良好。
答案 2 :(得分:1)
你没有在控制器中注入$ http服务
app.register
.controller(
'timeStampController',
[
'$scope',
'$rootScope',
'$http'
function($scope, $rootScope,$http) {
$http.get('http://localhost:7001/ebiz/ebizdashboard/activityfeed/updatetimestamp').
success(function(data, status, headers, config) {
// $('#timeStampVal').html(data.lastacesstime);
$('#timeStampVal').html(hiiiiiiiii);
}).
error(function(data, status, headers, config) {
$("#timeStamp").hide();
});
}]);
});