Javascript AngularJs+php身份验证
嗨,我开始学习AngularJs,现在我尝试使用angular和php来完成我的登录模块,但我有一些问题。我看了很多教程,但没有一个对我有帮助,所以这里是我的:controllers.js:Javascript AngularJs+php身份验证,javascript,php,angularjs,Javascript,Php,Angularjs,嗨,我开始学习AngularJs,现在我尝试使用angular和php来完成我的登录模块,但我有一些问题。我看了很多教程,但没有一个对我有帮助,所以这里是我的:controllers.js: var controllers = angular.module('controllers', []); controllers.controller('loginController', ['$scope', '$http', 'UserService', function(scope, $h
var controllers = angular.module('controllers', []);
controllers.controller('loginController', ['$scope', '$http', 'UserService', function(scope, $http, User) {
scope.main = [
{username: '', password: ''}
]
scope.login = function(){
var config = {
url: '../auth/login.php',
method: 'POST',
data: {
username: scope.main.username,
password: scope.main.password
},
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}
$http(config)
.success(function(data,status,headers,config){
if(data.status){
//succefull login
User.isLogged = true;
User.username = data.username;
}
else{
User.isLogged = false;
User.username = '';
}
})
.error(function(data,status,headers,config){
User.isLogged = false;
User.username = '';
});
}
}])
auth.js:
var services = angular.module('services', []);
services.factory('UserService', [function(){
var sdo = {
isLogged: false,
username: ''
};
return sdo;
}]);
login.php:
$username = $_POST['username'];
if($username){
return "Logged";
}else{
return false;
}
以及html:
<div class="col-xs-12" id="loginCol" ng-controller="loginController">
<form ng-submit='login()' name="form" novalidate>
<div class="form-group">
<label for="username" class="sr-only">Username</label>
<input type="text" ng-model="scope.main.username" class="form-control" id="username" placeholder="Име..." />
<label for="password" class="sr-only">Password</label>
<input type="password" ng-model="scope.main.password" class="form-control" id="password" placeholder="Парола..." />
</div>
<div class="form-group pull-right">
<button type="button" class="btn btn-primary">Login</button>
<button type="button" class="btn btn-default">Register</button>
</div>
</form>
</div>
在本例中,我希望用户在用户名输入中键入一些内容,然后点击login按钮,并在成功调用login.php时返回一些消息。问题是,像这样编写的代码“loginController”不是一个函数,没有定义如何修复它?您已经创建了应用程序
var controllers = angular.module('controllers', []);
但是没有在html代码中使用它,将ng app属性添加到包装器div
<div class="col-xs-12" ng-app="controllers" id="loginCol" ng-controller="loginController">
或者将ng click=login属性添加到按钮,并从创建应用程序的表单中删除ng submit='login'
var controllers = angular.module('controllers', []);
但是没有在html代码中使用它,将ng app属性添加到包装器div
<div class="col-xs-12" ng-app="controllers" id="loginCol" ng-controller="loginController">
或者将ng click=login属性添加到按钮,并从表单中删除ng submit='login'。披露:我是UserApp的开发者之一
您可以尝试第三方服务,同时使用
检查一下,或者坐火车。以下是它如何工作的一些示例:
带有错误处理的登录表单:
.Others路由应设置为您希望用户在登录后重定向到的位置。例如:
$routeProvider。否则{重定向到:'/home'}
注销链接:
访问用户属性:
使用用户服务访问用户信息,例如:User.current.email
或者在模板中:{{user.email}
隐藏仅在登录时可见的元素:
欢迎{{user.first_name}}
根据权限显示元素:
你是管理员
要对后端服务进行身份验证,只需使用user.token获取会话令牌并将其与AJAX请求一起发送即可。在后端,使用和检查令牌是否有效
如果您需要任何帮助,请告诉我:披露:我是UserApp的开发者之一
您可以尝试第三方服务,同时使用
检查一下,或者坐火车。以下是它如何工作的一些示例:
带有错误处理的登录表单:
.Others路由应设置为您希望用户在登录后重定向到的位置。例如:
$routeProvider。否则{重定向到:'/home'}
注销链接:
访问用户属性:
使用用户服务访问用户信息,例如:User.current.email
或者在模板中:{{user.email}
隐藏仅在登录时可见的元素:
欢迎{{user.first_name}}
根据权限显示元素:
你是管理员
要对后端服务进行身份验证,只需使用user.token获取会话令牌并将其与AJAX请求一起发送即可。在后端,使用和检查令牌是否有效
如果您需要任何帮助,请告诉我:您应该完成角度教程以及来自egghead.io的一些视频培训。你的问题表明你缺乏对框架的了解,这是必须的。是的,我知道,但没有视频教程真正展示如何进行简单的登录。有一些关于身份验证的文章,但我不能理解,这就是为什么我在这里问这个问题。如果你能给我看一些教程,我很乐意阅读或观看。一些关于特定技术的简短介绍视频:介绍框架工作流程的教程:如何创建php文件?你应该完成Angular教程以及来自egghead.io的一些视频培训。你的问题表明你缺乏对框架的了解,这是必须的。是的,我知道,但没有视频教程真正展示如何进行简单的登录。有一些关于身份验证的文章,但我不能理解,这就是为什么我在这里问这个问题。如果你能给我看一些教程,我很乐意阅读或观看。一些关于特定技术的简短介绍视频:介绍框架工作流程的教程:如何创建php文件?是的,arror消失了,但现在当我点击login nothing Happend是的,arror消失了,但现在当我点击login nothing Happed时,不会说谎。。。。这实际上看起来是任何启动Angular应用程序的好地方。我一定会在一些重大的项目中考虑这个问题,不要说谎。这实际上看起来是任何启动Angular应用程序的好地方。我一定会在一些重要的项目中考虑到这一点。
<form ua-signup ua-error="error-msg">
<input name="first_name" placeholder="Your name"><br>
<input name="login" ua-is-email placeholder="Email"><br>
<input name="password" placeholder="Password" type="password"><br>
<button type="submit">Create account</button>
<p id="error-msg"></p>
</form>
$routeProvider.when('/login', {templateUrl: 'partials/login.html', public: true, login: true});
$routeProvider.when('/signup', {templateUrl: 'partials/signup.html', public: true});