【问题标题】:angular $http.get not working角度 $http.get 不工作
【发布时间】:2015-01-16 06:31:16
【问题描述】:

所以我正在测试 $http.get 以获取一个 json 文件,并且我使用了以下代码:

$scope.classes =   $http.get('coursedata.json')
    .success(function (result){
           $scope.classes = result; a
      console.log(result);
             })
  .error(function(data,status){
  console.log(status);
  } );

但它没有工作,它显示成功获取但在我的角度 html 页面中它没有访问数据。

我的 html 是这样的:

<div class="row" ng-controller="oflClassCtrl">
 <tr ng-repeat = "selectedClass in classes | filter:searchTxt">
        <td><a  ng-click="clickToOpen($index)">{{selectedClass.class}}</a></td>

当我在控制器中有数据时,页面会正确呈现,但由于某种原因,当我尝试使用 get 请求和 $http 服务时,某些东西无法正常工作。

我也在 xampp apache 服务器上使用 php 运行本地主机,所以 $http 应该可以正常工作?

【问题讨论】:

  • 您遇到什么错误? json有效吗?如果有疑问,请通过验证器运行它
  • 如果您在浏览器中键入 JSON 文件的 http 地址会怎样。你看到了什么?
  • json 不正确,缺少逗号。请为此创建一个答案,以便我接受。

标签: javascript angularjs xmlhttprequest


【解决方案1】:

$scope.classes 可能分配给它无效,因此在您的标记中 $http.get 成功但功能失调 ng-repeat。检查您的 JSON 格式应该可以解决问题

JSONLint - 您可以使用的众多快速在线工具之一

【讨论】:

    【解决方案2】:

    尝试在您的范围内生成一个函数,并在那里设置数据:

    $scope.setData = function( data ) {
    ....
    

    我认为这与手表上下文有关。

    【讨论】:

      【解决方案3】:

      作用域变量中没有函数:

      $scope.classes =  function() {
      $http.get('coursedata.json')
          .success(function (result){
                 $scope.classes = result; a
            console.log(result);
                   })
        .error(function(data,status){
        console.log(status);
        } );
      }
      

      考虑到你想调用它或者要触发的函数

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-16
        • 2014-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多