<分区>
我将尝试使用 angularjs 和 php 构建一个登录系统。但是,我不知道当用户成功登录时我将如何处理 session 和重定向?
我应该在后端使用 PHP 启动一个 session ,然后将其返回到 Angular 吗?当我要重定向用户时,我应该使用 window.location.href 吗?
<分区>
我将尝试使用 angularjs 和 php 构建一个登录系统。但是,我不知道当用户成功登录时我将如何处理 session 和重定向?
我应该在后端使用 PHP 启动一个 session ,然后将其返回到 Angular 吗?当我要重定向用户时,我应该使用 window.location.href 吗?
最佳答案
您可以使用 Php session 并将其返回给 Angular 服务。然后您可以将您的用户信息与服务共享给其他 Controller 。
我建议您使用 ngRoute 和包含用户信息的共享服务。这种方法非常快速和安全。
我只是编辑了我的答案并为您做了一个简单的例子。
var doc = angular.module('doc',
[
'ngRoute'
]);
doc.service('link', function () {//Creating my service
this.user = false;//Here is my user object. I am changing these datas in the login section.
});
doc.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/homepage', {
templateUrl: 'view/homepage.html',
controller: 'homePage',
})
.when('/login', {
templateUrl: 'view/login.html',
controller: 'login',
})
$locationProvider.html5Mode(true);
});
doc.controller("login", function ($scope, $timeout, link, $location) { //As you see I sent 'link' as a parameter. So I can easily use my service and the user data.
$scope.username = "";
$scope.password = "";
$scope.login = function () {
$.get("/login.php", {username:$scope.username,password:$scope.password},function(data){
if(data){
link.user = JSON.parse(data); // I am parsing my json data and save to link.user
$location.path("/homapage");
}
});
}
});
doc.controller("homePage", function ($scope, $timeout, link, $location) { //As you see I sent 'link' as a parameter. So I can easily use my service and the user data.
if(link.user){
console.log(link.user); // I can access my user!
}else{
$location.path("/login");
}
});
如您所见,我的服务包含我在登录页面初始化的用户数据。现在我可以轻松地在我的 Controller 中使用它们。
关于javascript - 使用 angularjs 和 php 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322163/