【问题标题】:angular.js $http.error no status return jsonangular.js $http.error 无状态返回 json
【发布时间】:2014-07-07 14:20:55
【问题描述】:

我是 Angular.js 的新手,我正在关注 Angular 网站的教程。

我正在尝试使用 $http 服务从 json 文件中获取我的数据,但没有任何反应!! 连报错的状态都不行……

这是我的代码:

 <li>{{status}}</li>

 <ul class="messages">
      <li ng-repeat="message in messages">
            {{message.title}}
            <p>{{message.title2}} {{message.icon}}</p>    
      </li>
 </ul>

还有js部分:

var monitorControllers = angular.module('monitorControllers', []);

monitorControllers.controller('MonitorCtrl', ['$scope', '$http',
    function($scope,$http) {
   $http.get('data/messages.json').success(function(data, status) {
       $scope.status = status;
       $scope.messages = data;
   }).error(function(data, status) {
           $scope.messages = data || "Request failed";
           $scope.status = status;
       });    

}]);

解决方案:

谢谢 sylwester,我找到了问题,但这真的很奇怪。所以我只是在我的js文件中添加了这个: (开头和结尾..)

(function () {
    var monitorControllers = angular.module('monitorControllers', []);

    monitorControllers.controller('MonitorCtrl', ['$scope', '$http',
        function ($scope, $http) {

            $http.get('data/messages.json').success(function(data, status) {
             $scope.status = status;
             $scope.messages = data;
             }).error(function(data, status) {
             $scope.messages = data || "Request failed";
             $scope.status = status;
             });


        }]);
})();

【问题讨论】:

  • 您的HTML 中有ng-controller='MonitorCtrl' 吗?

标签: json angularjs http status


【解决方案1】:

你很可能错过了一些东西,请看那里:http://jsbin.com/canuma/1/edit?html,js,output

html:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body ng-app="monitorControllers">
  <div ng-controller="MonitorCtrl">
   <li>{{status}} {{messages}}</li>

 <ul class="messages">
      <li ng-repeat="message in messages">
            {{message.title}}
            <p>{{message.title2}} {{message.icon}}</p>    
      </li>
 </ul>
      </div>
</body>
</html>

js:

var monitorControllers = angular.module('monitorControllers', []);

monitorControllers.controller('MonitorCtrl', function($scope, $http){

  $http.get('data/messages.json').success(function(data, status) {
       $scope.status = status;
       $scope.messages = data;
   }).error(function(data, status) {
           $scope.messages = data || "Request failed";
           $scope.status = status;
       });  


});

【讨论】:

  • 问题中的解决方案!
猜你喜欢
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多