gpt4 book ai didi

angularjs 函数 ($http, $location, ...) 不工作

转载 作者:可可西里 更新时间:2023-11-01 16:48:04 24 4
gpt4 key购买 nike

我有一个简单的 angularjs 应用程序,我想发出 http 请求,但我真的不知道为什么它不起作用。这是我的 Controller :

(function () {
'use strict';

/**
* @ngdoc function
* @name app.controller:HomeCtrl
* @description
* # HomeCtrl
* Controller of the app
*/

angular.module('BlurAdmin.pages.dashboard')
.controller('HomeCtrl', ['$scope', '$rootScope', '$stateParams', '$http', '$location', HomeCtrl ]);
function HomeCtrl($scope, $http, $location) {
$scope.samples = [['a', 'b', 'c'], ['d', 'e', 'f']];

console.log($http);
console.log($scope);
console.log($location);
console.log(window.location.hostname);
$http.get(
'http://localhost' + ':7000/samples',

{}
).then(function(err, data){
if (err){
console.log(err);
}
console.log(data);
},
function(err, data){
});

var varApplist = this;
}
})();

我的空间 homeCtrl:

<div id="page-wrapper" ng-controller="HomeCtrl">
......
<div>

在我的 index.html 中

当我尝试运行时,我遇到了这个错误:

TypeError: $http.get is not a function
at new HomeCtrl (http://localhost:4001/app/pages/dashboard/home/homeCtrl.js:21:11)
at invoke (http://localhost:4001/bower_components/angular/angular.js:4570:17)
at Object.instantiate (http://localhost:4001/bower_components/angular/angular.js:4578:27)
at http://localhost:4001/bower_components/angular/angular.js:9460:28
at http://localhost:4001/bower_components/angular-ui-router/release/angular-ui-router.js:4081:28
at invokeLinkFn (http://localhost:4001/bower_components/angular/angular.js:9099:9)
at nodeLinkFn (http://localhost:4001/bower_components/angular/angular.js:8586:11)
at compositeLinkFn (http://localhost:4001/bower_components/angular/angular.js:7975:13)
at publicLinkFn (http://localhost:4001/bower_components/angular/angular.js:7855:30)
at updateView (http://localhost:4001/bower_components/angular-ui-router/release/angular-ui-router.js:4021:23) <div ui-view="" class="ng-scope">

当我记录 $location 和 $http 时,我有一个空对象。

最佳答案

.controller('HomeCtrl', ['$scope', '$rootScope', '$stateParams', '$http', '$location', HomeCtrl ]);
function HomeCtrl($scope, $http, $location) {

除了$scope,函数的实际参数与数组开头声明的依赖关系完全不匹配。

帮自己一个忙,停止使用这种丑陋且容易出错的数组表示法。使用 ng-annotate 使您的代码自动缩小。

另请注意,传递给 then() 的回调将使用单个参数调用。所以你那里的 data 参数是无用的。

关于angularjs 函数 ($http, $location, ...) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42999310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com