Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:使用AngularJS、AJAX对表行分页时未定义ValList_Javascript_Php_Mysql_Ajax_Angularjs - Fatal编程技术网

Javascript 错误:使用AngularJS、AJAX对表行分页时未定义ValList

Javascript 错误:使用AngularJS、AJAX对表行分页时未定义ValList,javascript,php,mysql,ajax,angularjs,Javascript,Php,Mysql,Ajax,Angularjs,我正在使用这段代码的一部分对AngularJS进行分页,但我想使用MySQL DB表中名为“user”的数据。。。 但是我面临一个错误,valLists是未定义的,因此它返回null,并且不显示任何内容。。。。我认为数据类型来自select.php导致了这种情况,我不知道如何解决它。。任何帮助 HTML代码: <body> <br /> <br /> <div ng-app="myApp">

我正在使用这段代码的一部分对AngularJS进行分页,但我想使用MySQL DB表中名为“user”的数据。。。 但是我面临一个错误,valLists是未定义的,因此它返回null,并且不显示任何内容。。。。我认为数据类型来自select.php导致了这种情况,我不知道如何解决它。。任何帮助

HTML代码:

<body>
    <br />
        <br />
        <div ng-app="myApp">
            <div ng-controller="TableCtrl">

                <table class="table">
                    <thead>
                        <tr>
                            <th class="id">User Id
                            </th>
                            <th class="name">Name
                            </th>
                            <th class="phone">Phone
                            </th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr ng-repeat="item in ItemsByPage[currentPage]">
                            <td>{{item.id}}</td>
                            <td>{{item.name}}</td>
                            <td>{{item.phone}}</td>
                        </tr>
                    </tbody>
                </table>

                <ul class="pagination">
                    <li><a href="#" ng-click="firstPage()">First</a>

                    </li>
                    <li ng-repeat="n in range(ItemsByPage.length)"> <a href="#" ng-click="setPage()" ng-bind="n+1">1</a>

                    </li>
                    <li><a href="#" ng-click="lastPage()">Last</a>

                    </li>
                </ul>
             </div>
      </div>
</body>
注1:当使用函数getData1而不是getData时,它运行良好。 注2:我确信select功能运行良好,并提供以下数据:

[{"id":"3","name":"newname","phone":"321"},
{"id":"4","name":"nnnnnnnnnnn","phone":"66555566"},      {"id":"10","name":"dss","phone":"45321"},    {"id":"11","name":"www","phone":"1234"},    {"id":"15","name":"fghjkl","phone":"34567890"}]

尝试使用angular的$http服务。像这样的

var TableCtrl = myApp.controller('TableCtrl', function ($scope, ListService, $http) {
  // ...
  $http.post('select.php')
       .success(function(response) {
          $scope.allItems = response;
       });

   // ...   
}

这是因为您不知道Ajax中异步的含义。请您解释一下,或者告诉我该怎么做?同样的错误仍然在出现。。我使用了alertresponse并显示了警报包括这个[object object],[object object],[object object],你知道为什么吗?使用控制台日志查看实际发生的情况。使用警报并没有多大帮助。该响应应该包含来自php的数据。您可以在将数据分配到$scope.alItems之前处理分页逻辑
public function select($table, $rows, $where = null){        
    $case = 0;   

    if($this->tableExists($table))
    {          
       $q = ' SELECT ' .$rows.' FROM '.$table;
        $query = @mysql_query($q);                   

        $this->numresults = mysql_num_rows($query);
        for($i = 0; $i < $this->numresults; $i++)
        {
            $r = mysql_fetch_array($query);
            $key = array_keys($r); 
            for($x = 0; $x < count($key); $x++)
            {
                // Sanitizes keys so only alphavalues are allowed
                if(!is_int($key[$x]))
                {
                    if(mysql_num_rows($query) > 1)
                        $this->result[$i][$key[$x]] = $r[$key[$x]];
                    else if(mysql_num_rows($query) < 1)
                        $this->result = null; 
                    else
                        $this->result[$key[$x]] = $r[$key[$x]]; 
                }
               // $this->result[$i][$key[$x]] = $r[$key[$x]];
            }
        }   
       // print_r ($this->result)."<br/>";


   }
    else
        return false; 

}    
public function getResult() {
    return $this->result;
}
[{"id":"3","name":"newname","phone":"321"},
{"id":"4","name":"nnnnnnnnnnn","phone":"66555566"},      {"id":"10","name":"dss","phone":"45321"},    {"id":"11","name":"www","phone":"1234"},    {"id":"15","name":"fghjkl","phone":"34567890"}]
var TableCtrl = myApp.controller('TableCtrl', function ($scope, ListService, $http) {
  // ...
  $http.post('select.php')
       .success(function(response) {
          $scope.allItems = response;
       });

   // ...   
}