Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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没有';t显示MySQL结果*已编辑_Javascript_Php_Jquery_Mysql_Angularjs - Fatal编程技术网

Javascript AngularJS没有';t显示MySQL结果*已编辑

Javascript AngularJS没有';t显示MySQL结果*已编辑,javascript,php,jquery,mysql,angularjs,Javascript,Php,Jquery,Mysql,Angularjs,MySQL数据的概览视图(root.html)不显示数据。但是,打开/php/overview.php表示可以正确获取数据: 成功连接到MySQL服务器。[{“职务头衔”:“闪光”,“职务id”:“狗”},{“职务头衔”:“ad34”,“职务id”:“teeee”}] root.html <table class="setup-table"> <tr> <td>Job title</td> <td>

MySQL数据的概览视图(root.html)不显示数据。但是,打开/php/overview.php表示可以正确获取数据:

成功连接到MySQL服务器。[{“职务头衔”:“闪光”,“职务id”:“狗”},{“职务头衔”:“ad34”,“职务id”:“teeee”}]

root.html

<table class="setup-table">
    <tr>
        <td>Job title</td>
        <td>Job ID</td>
    </tr>
    <tr data-ng-repeat="campaign in campaigns">
        <td>A {{campaign.Job_title}}</td>
        <td>B {{campaign.Job_id}}</td>

    </tr>
</table>
overview.php

<?php
include_once('db.php');

$query = "SELECT Job_title, Job_id FROM campaign";
$result = $connect->query($query);
$data = array();

while ($row = mysqli_fetch_array($result,MYSQL_ASSOC)) {
    $data[] = $row;
}
print json_encode($data);
mysql_close($connect);

?>

大多数情况下,当您获得服务器路由时,您会收到一个完整的响应对象作为响应,而不仅仅是请求的数据,因此将使此调用的代码部分更改为如下所示:

{
    $http.get("php/overview.php")
     .success(function(response){
         console.log(response);
         $scope.campaigns = response.data;
         alert("It WORKED (DELETE Later)");
      })
      .error(function() {
          $scope.campaigns = "Could not fetch data";
          alert("DID NOT WORK (DELETE Later");
      });
}
我们应该做到这一点。我还添加了一个console.log调用,以便您可以检查响应


注意:不推荐使用success和error。建议您使用.then()响应$http调用。重构非常小。

您检查过收到的数据了吗?这是你所期望的吗?您是否在
ng视图中看到正确的模板?关于您的问题没有给出太多详细信息添加
$scope.$apply()?我猜数组是空的。。您可以打印$scope.campaign吗?我添加了数据和活动的控制台日志,但firebug控制台中没有显示任何内容。所以我想它是空的。我将添加php以将内容写入数据库。@YaeVo查看我的答案。它应该是正确的,尽管有相反的注释。OP显示了生成json的php代码。没有具有
数据
属性的对象。它只是一个对象数组。不要猜测…阅读OP代码我不做PHP,但是当我访问一个也只写JSON的.NET站点时,我得到了一个完整的响应对象。我不知道为什么这里不是这样。谢谢你的讲座。难怪如此多的开发者觉得这个网站令人厌烦,并且害怕提问和回答问题。根据angular doc,OP应该接收一个带有数据、状态、标题、状态文本和配置成员的响应对象。angular$http函数响应始终将请求返回的数据存储在
response.data
中。如果对象有数据属性,它将被
response.data.data
访问。这是控制台日志:controllers.js:31 object{data:“Verbindung zum MySQL Server erfolgreich aufgebaut.

没有这样的文件或目录”,状态:200,配置:object,状态文本:“OK”}我的Deutsch非常生锈,但对我来说,这似乎是某种错误,即使你的状态是200。您可能只想在浏览器中导航到URL,然后查看得到的内容。无论如何,您的客户端代码现在是正确的。如果您需要进一步的帮助,我建议您深入研究服务器端并提出一个新的问题。
{
    $http.get("php/overview.php")
     .success(function(response){
         console.log(response);
         $scope.campaigns = response.data;
         alert("It WORKED (DELETE Later)");
      })
      .error(function() {
          $scope.campaigns = "Could not fetch data";
          alert("DID NOT WORK (DELETE Later");
      });
}