Angularjs 如何将数据从php添加到Angular?

Angularjs 如何将数据从php添加到Angular?,angularjs,Angularjs,我需要在php中将数组中的数据添加到Angular JS中。我试过: HTML 最好的方法是什么?您是否尝试了以下方法 <div ng-init="images = <?=$images ?>"></div> ng init并不是真正用于您想要做的事情。本手册明确规定仅作为ng repeat的一部分使用 混合使用php和javascript充其量也是一项挑战。试着从让php返回json对象的角度考虑更多问题 还尝试将所需数据作为常量或值注入。比如: <

我需要在php中将数组中的数据添加到Angular JS中。我试过:

HTML


最好的方法是什么?

您是否尝试了以下方法

<div ng-init="images = <?=$images ?>"></div>

ng init并不是真正用于您想要做的事情。本手册明确规定仅作为ng repeat的一部分使用

混合使用php和javascript充其量也是一项挑战。试着从让php返回json对象的角度考虑更多问题

还尝试将所需数据作为常量或值注入。比如:

<script src="app.js"></script>
<script>
(function(angular) { 'use strict';

  var appModule = angular.module('ceradSraApp');

  appModule.constant('ceradApiPrefix','<?php echo $apiPrefix; ?>');

})(angular);
</script>

(函数(角度){‘严格使用’;
var appModule=angular.module('ceradSraApp');
appModule.constant('ceradApiPrefix','');
})(角度);

所以Ceradaprefix现在可以在任何需要的地方注射。在php中做任何你需要做的事情,把你的数据浓缩成一个单一的回音。

这是你不能从外部处理HTML的地方

Angular方法是使用简单的Angular模板,并使用Angular的服务(如)提取数据

然后Angular的
$http
将向您的服务器发送一个请求,您的PHP将使用Angular将接收和使用的数据(JSON)进行响应

而不是使用
通常不推荐使用(详情请参见页面)。

我已经用php和angularjs制作了一些web应用程序。我的做法如下:

将php中的数据以angular和html格式导入数组时

我可以用php编写以下脚本:

<?php
  require_once '../config.php';
  $id = $_GET['id_project'];
  $query = "SELECT *
        FROM `activity_planned` as A,`user` as U
        WHERE A.id_user = U.id_user and A.id_project = $id";
  $answer = $mysqli->query($query);
  $result = array();
  foreach( $answer as $row ){
    array_push($result,$row);
  }
  echo $json_response = json_encode($result);
?>
通过在html中使用ng repeat指令,将显示所有这些“活动”:

<div ng-repeat="item in activities track by $index">
    <p>{{item.id}}</p>
    <p>{{item.name}}</p>
</div>

{{item.id}

{{item.name}

您需要将数组编码成json并在php中回显结果


此“echo”将用作返回,$scope函数中的response参数将从中接收数据。

请简要说明如何解决OP的问题。如果使用“success”而不是“success”,则响应将是一个对象,您需要声明$scope.activities=response.data。打印响应会将php错误打印到控制台中,我发现这在大多数情况下都很有用
<?php
  require_once '../config.php';
  $id = $_GET['id_project'];
  $query = "SELECT *
        FROM `activity_planned` as A,`user` as U
        WHERE A.id_user = U.id_user and A.id_project = $id";
  $answer = $mysqli->query($query);
  $result = array();
  foreach( $answer as $row ){
    array_push($result,$row);
  }
  echo $json_response = json_encode($result);
?>
$scope.getActivities = function() {
 $http({
   url: './scripts/getters/get-activities-by-project-id.php',
   method: 'GET',
   params: {
     id_project: $stateParams.projectId
   }
 })
 .success( function( response ) {
   $scope.activities = response;
 });
};
<div ng-repeat="item in activities track by $index">
    <p>{{item.id}}</p>
    <p>{{item.name}}</p>
</div>