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