Angularjs无法通过http获取请求

Angularjs fails http get request

本文关键字:http 获取 请求 Angularjs      更新时间:2023-10-24

我正在尝试一些angularjs教程,不知道为什么下拉列表没有填充。

我在angular.js文件中得到一个错误

TypeError: undefined is not a function. 
if ($rootScope.$broadcast('$locationChangeStart', newUrl,
                                    oldUrl).defaultPrevented) {

下面是我的代码。

<!DOCTYPE html>
<html>
<head>
<link rel="" type="text/css" href="bootstrap.min.js" />
</head>
<body ng-app = "subtitle" ng-controller="loginController">
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="app.js"></script> 
<select ng-model="collections" ng-options="item.Id as item.Name for item in languages">
    <option value="">Select Account</option>
</select>
</body>
</html>
(function(){
var app = angular.module('subtitle',[]);
app.controller('loginController', ['$http','$scope',function($scope,$http) {
$scope.collections = null;
$scope.languages = [];
$http.get('http://lapi.cd.com/masterdata?type=languages').success(function(data) {
$scope.languages = data;
});
}]);
})();

您已经切换了控制器中变量的顺序:

app.controller('loginController', ['$http','$scope',function($scope,$http) 

切换到:

app.controller('loginController', ['$http','$scope',function($http,$scope) 

首先,注射顺序不对。它必须是固定的,如下所示:

app.controller("登录控制器",["$scope","$http",函数($scope,$http){…}]);

('ctrlName',[A','B',函数(A,B)…

它可能会对您有所帮助!!!plnker

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="http://getbootstrap.com/2.3.2/assets/css/bootstrap.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.4/angular.js"></script>
  <script>
    var app = angular.module('subtitle', []);
    app.controller('loginController', ['$http', '$scope',
      function($http,$scope) {
        $scope.collections = null;
        $scope.languages = [];
        $http.get('http://lapi.cd.com/masterdata?type=languages').success(function(data) {
          $scope.languages = data;
        });
      }
    ]);
  </script>
</head>
<body ng-app="subtitle" ng-controller="loginController">
  <select ng-model="collections" ng-options="item.Id as item.Name for item in languages">
    <option value="">Select Account</option>
  </select>
</body>
</html>