1

事情是这样工作的:

有一个用 C# 编写的移动应用程序(可能,不确定,不相关)。它向一个站点发送一个 POST 请求,其中包含一些数据,例如用户的昵称、电子邮件地址等,比如说mysite.com/index.php. 在这种情况index.php下,我可以通过这种方式访问​​数据(它在$_POST数组中可用):

<?php echo $_POST["nickname"];?>

我的任务是重建服务mysite.com,添加一些额外的功能等等。我决定使用 Angular 作为前端框架。

现在,我要做的是使请求中发送的数据在 AngularJS 应用程序中可用 - 事实上我能够这样做,但我不相信这是应该完成的方式(index.html)。我的 Angular 应用程序的 php 看起来像这样):

<!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;
}]);

问题:还有其他(更好,更清洁)的方法吗?

4

1 回答 1

0

我强烈建议查看AngularPHP示例项目,它演示了一种在 PHP 中为 Angular 构建服务器端 API 的简单方法

于 2014-01-09T12:30:27.853 回答