事情是这样工作的:
有一个用 C# 编写的移动应用程序(可能不确定,不相关)。它会向站点发送带有一些数据的 POST 请求,例如用户的昵称、电子邮件地址等,比如说mysite.com/index.php
。在这个index.php
中,我可以通过以下方式访问数据(它在$_POST
数组中可用):
<?php echo $_POST["nickname"];?>
我的任务是在mysite.com
重建服务,为其添加一些额外的功能等。我决定使用Angular作为前端框架。
现在,我正在尝试做的是使请求中发送的数据在 AngularJS 应用程序中可用 - 事实上我能够这样做,但我不相信这是应该这样做的方式(索引.php我的 Angular 应用程序看起来像这样):
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="lib/angular.min.js"></script>
<script src="lib/angular-resource.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/services.js"></script>
<script src="js/filters.js"></script>
<script>
window.data = <?php echo json_encode($_POST); ?>; <<-- The "hack" is here
</script>
</head>
<body>
<section ng-view></section>
</body>
</html>
以及使此数据可用的控制器:
myAppControllers.controller('SomeController', ['$scope', '$rootScope', '$window',
function($scope, $rootScope, $window) {
$rootScope.data = $window.data;
}]);
问题:还有其他(更好,更清洁)的方法吗?
我强烈建议查看 AngularPHP 示例项目,它演示了一种在 PHP 中为 angular 构建服务器端 API 的简单方法