当前位置: 首页 > 面试题库 >

从php文件中为Angular作用域获取json数据

杨选
2023-03-14
问题内容

我正在尝试从php文件中获取json数据,以在Angular控制器中使用。我json_encode(pg_fetch_assoc($result));在php文件中回显,当我console.log($scope.contents);在角度控制器中时,它带回json数据,但是当我尝试做一个ng- repeat

controllers.js

myApp.controller('ContentCtrl', function ($scope, $http) {
  $http({method: 'GET', url: 'content.php'}).success(function(data) {
    $scope.contents = data;
  });
});

content.php

<?php
require_once("sdb.php");
$result = pg_query($dbconn, "SELECT * FROM content ORDER BY name ASC");
echo json_encode(pg_fetch_assoc($result));

index.php

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="css/style.css"/>
</head>
<body ng-app="myApp">
 <div ng-controller="ContentCtrl">
   <ul>
     <li ng-repeat="content in contents">
       <a href="#">{{content.name}}</a>
     </li>
   </ul>
 </div>
</body>
   <script src="js/jquery-1.10.2.js"></script>
   <script src="js/angular.min.js"></script>
   <script src="js/controllers.js"></script>
</html>

问题答案:

您实际上希望将数据作为JSON发送。为此,您只需要header('Content-Type: application/json');echo语句之前添加即可。因此content.php变为:

<?php
require_once("sdb.php");

$result = pg_query($dbconn, "SELECT * FROM content ORDER BY name ASC");

header('Content-Type: application/json');
echo json_encode(pg_fetch_assoc($result));

顺便说一句,您可能需要对控制器做一些事情。我会改变这个:

myApp.controller('ContentCtrl', function ($scope, $http) {
    $http({method: 'GET', url: 'content.php'}).success(function(data) {
        $scope.contents = data;
    });
});

对此:

myApp.controller('ContentCtrl', ['$scope', '$http', function ($scope, $http) {
    $http.get('content.php')
    .success(function(data) {
        $scope.contents = data;
    });
}]);

'$scope', '$http',函数定义之前的附加内容使您将来可以精简,并且这.get只是个人喜好,但我认为阅读起来更简洁。



 类似资料:
  • 我在JSON中有以下数据: 并且我想使用jQuery获得它,这就是我正在做的: 我还尝试使用回调来实现它,这样做: 即使使用回调,我也无法恢复数据。返回函数。而返回未定义的me,并表示回调不是函数。

  • 问题内容: 我正在尝试使用PHP从以下JSON文件中获取数据。我特别想要“ temperatureMin”和“ temperatureMax”。 这可能真的很简单,但是我不知道该怎么做。我被困在file_get_contents(“ file.json”)之后该做什么。一些帮助将不胜感激! 问题答案: 使用以下命令获取JSON文件的内容: 现在使用解码JSON : 您有一个包含所有信息的关联数组。

  • 我试图使用PHP从以下JSON文件中获取数据。我特别想要“temperatureMin”和“temperatureMax”。 这可能真的很简单,但我不知道怎么做。我被困在文件获取内容(“file.json”)之后该做什么。我们将非常感谢您的帮助!

  • 问题内容: 我正在尝试从Angular服务hero.service.ts获取json数据。当在MemoryDataService中使用伪造的HTTP API时,一切正常,我从in-memory- data.service.ts文件中获取json数据。但是,当我尝试从真实的json文件中获取数据时,它不起作用,并且在浏览器中出现错误“找不到集合”。 以下是文件内容(所有3个文件都位于app /文件夹

  • 问题内容: 我如何通过带有角的ajax获取json数据?我尝试了很多,但是我的代码无法正常工作。我的代码: 问题答案: 你这样尝试过吗?

  • 问题内容: 我需要编写一个函数来解析包含域名的变量。最好用一个示例来说明,变量可以包含以下任何内容: 但是当通过我的函数传递时,所有这些都必须返回example.com或example.co.uk,基本上是根域名。我敢肯定我之前已经做过,但是我已经搜索Google约20分钟了,找不到任何东西。任何帮助,将不胜感激。 编辑:忽略.co.uk,假定通过此功能的所有域都具有3个字母的TLD。 问题答案: