angularjs php登录验证,AngularJs用户登录时交互及验证步奏详解

2023-11-01

这次给大家带来AngularJs用户登录时交互及验证步奏详解,AngularJs用户登录时交互及验证的注意事项有哪些,下面就是实战案例,一起来看一下。

1. 静态页面搭建及ng的form表单验证实现:

ng-disabled="!( (loginForm.loginName.$valid) && (loginForm.pwd.$valid) )">登录

2. 定义用户登录的控制器,在控制器中使用http服务处理登录接口:$http({

url:G.apiUrl_dl+'loginByPhone',

method:'post',

data:{

'phone':loginName,

'pwd':pwd

},

headers:{'Content-Type':'application/x-www-form-urlencoded'},

transformRequest: function(obj) {

var str = [];

for(var p in obj){

str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));

}

return str.join("&");

}

}).success(function(data){

// 登录成功后的操作...18 19 });

3. 如果登录成功后将用户的数据保存到cookie或session中 用$state服务进行跳转到指定的页面中:// 登录成功

if($scope.loginActionData.token){

sessionStorage.setItem("token", $scope.loginActionData.token);

sessionStorage.setItem("tsname", $scope.loginActionData.name);

sessionStorage.setItem("rights", $scope.loginActionData.rights);

sessionStorage.setItem("userId", $scope.loginActionData.userId);

sessionStorage.setItem("departmentsId", $scope.loginActionData.departmentsId);

sessionStorage.setItem("departmentsName", $scope.loginActionData.departmentsName);

$state.go('index');

}else{

// 登录失败的弹框提示

$('#loginAction').modal('show');

}

4. 接下来就是防止用户跳过登录页面通过其他方法(如在地址栏直接输出地址进入页面) 的防FQ操作:

这个方法的操作我放在之前曾经说过得控制器最先执行的run方法中执行,每次进到一个页面之前都会进行检查该用户是否合法登录,如果不是合法登录我们将会让他跳转到登录页面angular.module.run(['$rootScope','$state',function($rootScope,$state){

$rootScope.$on('$stateChangeStart',function(event,toState){

// 防止FQ

if(!(sessionStorage.getItem("token")))$state.go('register');

});

}]);

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

angularjs php登录验证,AngularJs用户登录时交互及验证步奏详解 的相关文章

  • 史上最详细mybatis与spring整合教程

    点击上方 田守枝的技术博客 关注我 mybatis本身使用比较灵活 和spring整合也有多种方式 本文一网打尽mybatis与spring整合所有方式 让你彻底掌握mybatis与spring整合原理 堪称史上最全面的mybatis与sp
  • java试题

    题目 下列程序会输出什么结果 E class Super public int getLength return 4 public class Sub extends Super public long getLength return 5
  • STM32F207 USART+DMA代码+个人理解

    环境 STM32F207 目的USART通过DMA通信 DMA初步理解 1 之前发送数据的方式 数据放到串口数据寄存器里面 等待一个字节发送完成 重复第一二步 看到我们平时的方式我们就会有个想法 如果我们发送五百个字节 我们就需要让CPU在
  • zookeeper源码(01)集群启动

    本文介绍一下zookeeper 3 5 7集群安装 解压安装 tar zxf apache zookeeper 3 5 7 bin tar gz 创建数据 日志目录 mv apache zookeeper 3 5 7 bin app zoo
  • shell 中函数function()

    Shell函数类似于Shell脚本 里面存放了一系列的指令 不过Shell的函数存在于内存 而不是硬盘文件 所以速度很快 另外 Shell还能对函数进行预处理 所以函数的启动比脚本更快 1 函数定义 function 函数名 语句 retu
  • 【陕西理工大学-数学软件实训】数学实验报告(8)(数值微积分与方程数值求解)

    目录 一 实验目的 二 实验要求 三 实验内容与结果 四 实验心得 一 实验目的 1 掌握求数值导数和数值积分的方法 2 掌握代数方程数值求解的方法 3 掌握常微分方程数值求解的方法 二 实验要求 1 根据实验内容 编写相应的MATLAB程
  • Hadoop学习——MapReduce的组件及简单API(一)

    上一篇参考Hadoop学习 MapReduce的简单介绍及执行步骤 MapReduce的组件 组件是实现MapReduce的真正干活的东西 即我们的业务逻辑 就是要写到这里边来的 MapReduce共有4个组件 一 Mapper组件 介绍
  • Neo4j学习笔记(二) SpringMVC中使用Spring Data Neo4j

    目录 一 pom xml中添加spring data neo4j依赖 二 数据库连接配置文件neo4j properties 三 日志打开Cypher的DEBUG信息 便于调试 四 JAVA代码 4 1 Neo4jConfiguration
  • 百度文库副业项目,适合新手,后期躺赚

    前几天帮朋友找资料 费尽周折 最后在百度文库中找到了 但需要付费 百度文库 我之前有关注过 但没真正把它作为项目来操作 通过这几天的研究 发现做百度文库还蛮赚钱的 有的文库资料是几年前上传的 现在还在赚钱 这真是个躺赚的好项目 那么 下面浩
  • JDBC连接多个库进行数据操作(常用于数据迁移)

    package turnOverClass import java lang reflect Method import java sql Connection import java sql DriverManager import ja
  • 携程笔试2021.09.09

    三道编程 第一题 AC 类似于linux系统下 文件路径的前进和后退以及输出当前路径的指令 思路 直接模拟就可以 不过每一行用的nextInt 和next 接收数据的时候需要注意用nextLine 把回车吃掉 输入 7 cd a cd b
  • Git 安装以及使用教程

    1 Git简介 Git是一个开源的分布式版本控制系统 可以有效 高速的处理从很小到非常大的项目版本管理1 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 2 Git工作示意图
  • Kettle部署集群

    环境 1台Windows主机 2台Linux服务器 软件版本 Kettle7 0 目的 搭建Kettle集群 过程 1 安装Kettle Kettle程序整合了Linux平台和Windows平台 所以直接解压官网文件到磁盘上就OK啦 2 设
  • Android studio -- java.lang.nullpointerexception(no error message)

    Android Studio若出现 java lang nullpointerexception no error message 则删掉工程下的 gradle文件夹 重启Android Studio 问题解决 详细解答地址 http st
  • MySQL学习之DML语言

    MySQL学习之DML语言 DML SELECT完整语法 创建User 表 单表查询 保留关键字 查询空值 AND多条件查询 OR 多条件查询 DISTINCT 查询结果排序 分组查询 LIMIT 关键字 连接查询 DML 数据操纵语言DM
  • 【现代密码学原理】——期末复习(冲刺篇)

    前言 快考试了 做篇期末总结 都是重点与必考点 博主预测考点 计算题 RSA Diffie Hellman密钥交换 EIGamal 密钥交换 使用SHA 512算法 计算消息的Hash值 计算消息的HMAC 应用题 代替技术 1 2个 置换
  • Flutter升级后在Android studio上提示卡顿

    背景 32g台式机内存 amd 2700cpu 但是在Android studio上进行flutter 代码依旧感觉到卡顿 卸载重装了两次 依旧卡顿 无奈转vscode 奈何vscode用得还是效率不够高 经过某次搜索 尝试后 便记录之 举
  • 使用Python的win32com库实现对PowerPoint的操作

    使用Python的win32com库实现对PowerPoint的操作 1 引言 PowerPoint是微软公司开发的一款流行的演示文稿软件 广泛应用于演讲 培训和商务展示等场景 win32com库是Python的一个扩展模块 可以用于操作W
  • 置信区间与预测区间

    作者记录方便查询 置信区间 学习过程中 在计算置信度与置信区间的时候 所估计的变量常常是总体的某个参数 均值 方差等等 这时的已知条件一般为样本 通常还有总体分布 未知的 也是需要估计的是总体参数 因为仅仅估计某一个点的准确度不够 所以使用

随机推荐

  • 染色日志是怎么实现的?

    底层的rpc框架实现的 其实就是给每一次请求的源头处 加上一个seqence id id内容可以是qq号 时间戳 随机数 每次记日志的时候 都打把seqence id打出来 rpc调用的时候 由于跨机器了 需要在rpc消息中把这个seqen
  • 【期末复习】多媒体技术

    参考博客 多媒体技术期末复习题 多媒体信息技术 复习思考题 考试重点 1 JPEG压缩编码算法实现步骤 2 APCM DPCM ADPCM的区别 3 哈夫曼编码计算 画哈夫曼树 计算码长 4 颜色空间转换 RGB与CMY 还是YUV 之间
  • VBA 32位代码适配64位

    很久前用 Access VBA 写个程序 在64位的 Office 下一直报错 遂一直用 32位的 Office 最近尝试安装了 Office 2021 看到那图标那界面顿时爱了 一时没有找到 32位 的 Office 2021 遂决定解决
  • c语言写我爱你中国编程,c程序设计案例汇编课件.ppt

    C程序设计案例汇编 2011 4 第二章初识C语言程序设计 学习目标通过本章的学习 学会 1 在屏幕上输出显示需要的信息 2 给予简单的数据 进行处理 输出结果 3 输入输出函数的简单使用 4 简单的分支操作 5 简单的循环操作 C语言程序
  • SQLserver的Always On 可用性组

    Note Always On笔记 1 always on是基于 高可用性组的 1 1高可用性组 是一组SQLserver实例 由一个或多个主数据库 和 多个辅助数据库构成 1 2高可用性组之间 数据是同步的 有两种方式同步数据 同步提交模式
  • 哈希字符串入门 P3370洛谷

    题目链接 描述 如题 给定N个字符串 第i个字符串长度为Mi 字符串内包含数字 大小写字母 大小写敏感 请求出N个字符串中共有多少个不同的字符串 输入格式 第一行包含一个整数N 为字符串的个数 接下来N行每行包含一个字符串 为所提供的字符串
  • Spring Security:保护Spring应用程序的最佳实践

    目录 1 Spring Security是什么 它的作用是什么 2 Spring Security如何实现身份验证和授权 3 什么是Spring Security过滤器链 4 Spring Security如何防止跨站点请求伪造 CSRF
  • 单片机使用有线以太网联网的解决方案

    1 有MII RMII接口 且内置MAC 的单片机 如 STM32F407 STM32F107 ESP32 方案 外置PHY 且内部程序要运行TCP IP协议栈 PHY芯片推荐列表 LAN8720 LAN8742 DP83848 2 无MI
  • 【编译原理】机测笔记

    A 小C语言 词法分析程序 lt 参考代码 gt include iostream using namespace std 定义6个关键词 string S 6 main for if else int while Todo 设置displ
  • TypeScript:void, null, undefined的区别

    void Typescript中的void 与C语言中使用void定义一个函数时的意义一样 表示该函数没有返回值 function noReturn void console log This function don t have ret
  • win7 Embedded EWF与HORM特性(实战验证)

    前言 这两天在网上搜了很久 发现描述EWF特性的文章 大部分都是关于xp embedded的 真正运用在win7 embedded的少之又少 特别是中文描述的就更少了 于是 将自己这两天整理的结果供大家参考一下 先决条件 1 目标机 能够安
  • iOS动画—UIView动画以及CoreAnimation动画

    温故知新 一 UIView动画 1 1稍微简单点的动画 1 2稍微复杂的动画 二 CoreAnimation动画 CA动画的特点 只能添加到UIView的CALayer上面 必须需要引入
  • 树的创建、遍历及可视化

    许久不复习数据结构了 对于知识点都有些遗忘了 想着来写一些树的遍历 查找 发现连创建一棵树都快忘记了 不过幸好 还是可以看懂别人的代码 还算是有一些基础的 最终也写出来了 因为觉得这样太过于麻烦了 所以 我就在思考一个问题 如何简化这个过程
  • 自动化测试与自动化测试生命周期

    1 1 自动化测试的定义及概述1 1 1 软件测试的定义与分类 软件测试 2 就是在软件投入运行前 对软件需求分析 设计规格说明和编码的最终复查 是软件质量保证的关键步骤 定义1 软件测试是为了发现错误而在规定的条件下执行程序的过程 定义2
  • python常用库之colorama (python命令行界面打印怎么加颜色)

    文章目录 python常用库之colorama python命令行界面打印怎么加颜色 背景 colorama介绍 colorama使用 colorama打印红色闪烁 打印颜色组合 python常用库之colorama python命令行界面
  • JavaWeb基础5——HTTP,Tomcat&Servlet

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud SpringCloudAlibaba 黑马旅游 谷粒商城 目录 一 Web概述 1 1 Web和JavaWeb的
  • 实战演习(十)——通过LSTM训练天气污染程度预测模型

    我的公众号为 livandata 近期由于工作用到LSTM模型 借这个机会整理一下思路 在网上找了很多资料 受益匪浅 本文参考 https blog csdn net u012735708 article details 82769711
  • 盘点:大数据处理必备的十大工具

    摘要 随着互联网的愈来愈开放 电子商务平台和社交网络的盛行 导致数据在日益增长 给企业管理大量的数据带来了挑战的同时也带来了一些机遇 随着互联网的愈来愈开放 电子商务平台和社交网络的盛行 导致数据在日益增长 给企业管理大量的数据带来了挑战的
  • JupyterNotebook--基础--02--安装

    JupyterNotebook 基础 02 安装 1 安装 pip3 install jupyter pip3 install ipython 2 生成配置文件 用于后面写入ip 端口号 密码等 jupyter notebook gener
  • angularjs php登录验证,AngularJs用户登录时交互及验证步奏详解

    这次给大家带来AngularJs用户登录时交互及验证步奏详解 AngularJs用户登录时交互及验证的注意事项有哪些 下面就是实战案例 一起来看一下 1 静态页面搭建及ng的form表单验证实现 ng disabled loginForm