我想我可能会看到你的问题出在哪里。您尝试在单页 angularJS HTML 模板中访问 php 会话,对吗?喜欢:
<div ng-repeat="n in <?php $_SESSION['someSessionArray'] ?>">
这不是它的工作方式。您的 $_SESSION 将永远不会出现在您的模板中。您可以做的是使用 ajax 请求进行登录身份验证,并让该请求为您提供会话 ID。然后在进一步的 ajax 请求中启动会话时使用该会话 ID(如前所述)。
然后,当您想将某些内容存储到 php 会话时,通过 ajax 请求和 php 服务访问数据。
一个非常,非常,非常,简单的例子:在getFromSession.php里面
session_start($_GET['session_id']);
$key = $_GET['key']
echo json_encode($_SESSION[$key]);
在 storeToSession.php 里面
session_start($_GET['session_id']);
$key = $_GET['key'];
$value = $_GET['value'];
$_SESSION[$key] = $value;
在您的 login.php 中
$user = yourAuthMechanism($_GET['username'],$_GET['password']);
if($user) {
session_start();
echo json_decode(array('status' => 'success','sid' => session_id()));
}
else { ... error handling
在您需要访问会话数据的角度中的任何地方:
$promise = $http.get('pathtoyourphp/getFromSession.php?key=foo');
$http.set('pathtoyourphp/getFromSession.php?key=bar&value=4');
// now use promise to acces the data you got from your service