为什么数据不会出现在AngularJS中的$ http.get?

时间:2017-07-14 07:13:03

标签: javascript angularjs angularjs-scope

我尝试使用angularJS创建与数据库的连接。我使用$http.get连接PHP服务器

控制器

var oke = angular.module('secondApp',[]);
          oke.controller('dataAdmin',function(){
            return{
              controller : function($scope,$http){
                $scope.displayData = function(){
                $http.get('db.php').success(function(hasil){
                  $scope.datas=hasil;

                });
                console.log($scope.datas);
                }
              }
            };
          });

HTML

<div ng-controller="dataAdmin" ng-init="displayData()" ng-app="secondApp">
      <input type="text" ng-model="hasil" placeholder="Search" style="margin-left:2%;margin-bottom:5px;"/>
        <ul>
          <li ng-repeat="nt in datas | filter:hasil | orderBy:'username'">
            Username : {{nt.username}} | Password : {{nt.password}}
          </li>
        </ul>
    </div>

5 个答案:

答案 0 :(得分:0)

访问您的回复数据

$http.get('db.php').then(function(hasil){
  $scope.datas=hasil.data;
});

答案 1 :(得分:0)

试试这个:

$http.get('db.php').then(function(result){
   $scope.datas = result.data;
}, function(err){
   console.log(err);
});

答案 2 :(得分:0)

您的onResume将显示未定义,因为它将在获得响应之前运行,

在您的成功回复中写下此代码。它会显示价值。

答案 3 :(得分:0)

您需要访问回复中的数据

$ scope.datas = hasil.data;

答案 4 :(得分:0)

控制器代码需要进行一些更改:

  var oke = angular.module('secondApp',[]);
  oke.controller('dataAdmin', ̶f̶u̶n̶c̶t̶i̶o̶n̶(̶)̶{̶
     ̶r̶e̶t̶u̶r̶n̶{̶
      ̶c̶o̶n̶t̶r̶o̶l̶l̶e̶r̶ ̶:̶ function($scope,$http){
        $scope.displayData = function(){
          $http.get('db.php'). ̶s̶u̶c̶c̶e̶s̶s̶ then(function(hasil){
            $scope.datas= ̶h̶a̶s̶i̶l̶;̶ hasil.data;
            console.log($scope.datas);
          });
         ̶c̶o̶n̶s̶o̶l̶e̶.̶l̶o̶g̶(̶$̶s̶c̶o̶p̶e̶.̶d̶a̶t̶a̶s̶)̶;̶
        };
       ̶}̶
     ̶}̶;̶
  });

console.log需要位于.then方法内。