我目前正在开发一个AngularJS问卷表单,该表单从WordPress安装中获取用户用户名。
我已成功设法接收用户的用户名,但在更改视图时,刷新浏览器会丢失用户名!如果我不刷新浏览器,则在所有视图中都可以看到用户名。
如何防止丢失用户名?
JS
appCtrl.controller('oneCtrl', ['$scope', '$localStorage', '$http', function($scope, $localStorage, $http) {
$localStorage.$reset();
$scope.$storage = $localStorage;
$http({
method: 'POST',
url: 'https://app.com/user.php',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).success(function(data, status, headers, config) {
username = data;
}).error(function(data, status, headers, config) {
alert(data);
});
}]);
appCtrl.controller('twoCtrl', ['$scope', '$localStorage', function($scope, $localStorage) {
$scope.username = username;
}]);
appCtrl.controller('threeCtrl', ['$scope', '$localStorage', function($scope, $localStorage) {
$scope.username = username;
}]);
PHP
<?php
require_once('/home/app/public_html/wp-load.php' );
global $current_user;
get_currentuserinfo();
if ( is_user_logged_in() ) {
$username = $current_user->user_login;
echo $username;
}
?>
解决方案
<?php
$username = $current_user->user_login;
if($username) {
echo "<script>var username = '".$username."';</script>";
}
?>
答案 0 :(得分:0)
我的建议是,在角度服务中保存用户名(为了便于使用)+在服务器上保存会话,这样您就可以在刷新后查询(并在服务中存储,如果有现有会话)。
答案 1 :(得分:0)
在每个页面<script>var username='<?php echo "tralala";?>';</stript>
上传递用户名(可以是模板),然后username
将在您的网站上以全球方式提供