如何检查用户是否使用angularjs登录服务器(非客户端)?
我试过了:
userModel.getAuthStatus = function() {
var r = $http({
headers: {
'Content-Type': 'application/json'
},
url: baseUrl + 'user/auth',
method: "POST"
}).success(function(response) {
// console.log(response);
if(response.user){
console.log('login ');
var auth = true;
}else{
console.log('login is false');
var auth = false;
}
return auth;
//$cookies.put('auth', JSON.stringify(response));
}).error(function(data, status, headers) {
//console.log(data, status, headers);
//alert(data);
});
console.log(r);
};
在我的服务器端,我收到了如下回复:
public function checkAuth(Request $request)
{
if (Auth::check()) {
return Response::json(array('error' => false,'user' => Auth::user()),201);
}
else{
return Response::json(array('error'=>true));
}
}
我想让我的角度getAuthStatus()转到服务器,如果用户登录则返回true。否则返回false。
答案 0 :(得分:0)
如果您使用角度,我建议您使用控制器功能来执行请求
$scope.auth = false;
$scope.verifySession = function(){
$http.get('/auth/login')
.success(function(data){
if(data.auth) $scope.auth = true;
else $scope.auth = false;
})
.error(function(data){
console.log("Error: ", data);
});
}
$scope.verifySession();
如果你使用Route::controller('/auth', 'AuthController');
,你可以在控制器中编写像我这样的控制器方法
public function getLogin(Request $request)
{
if (Auth::check()) {
return Response::json(array('error' => false,'user' => Auth::user()),201);
}
else{
return Response::json(array('error'=>true));
}
}