shiro使用ajax登陆实现,success但页面无法跳转的问题
首先:简述一下登陆的后台流程
页面提交——>对应controller中的方法——>对应Realm认证——>controller返回 json
这样,无论成功与否,都有返回值,可以用 ajax 接收实现前端的提示
而如果后端直接返回 redirect 重定向一个 url 的话,无法在前端提示
一步步 debug,后端传值没有问题,前端 ajax 也接收到了数据,但就是没有跳转
最后发现问题,我为了调试效果,把 ajax 的 asynchronous 设为了 false,即为同步的
这样,在 ajax 中进行 location.href = 某个url,是无法成功的,必须是异步的 ajax 才能跳转
补充:bing 的国际版搜索好用,百度一堆都没有写真正错误原因的
shiro使用ajax登陆实现,success但页面无法跳转的问题的更多相关文章
- Ajax登陆,使用Spring Security缓存跳转到登陆前的链接
Spring Security缓存的应用之登陆后跳转到登录前源地址 什么意思? 用户访问网站,打开了一个链接:(origin url)起源链接 请求发送给服务器,服务器判断用户请求了受保护的资源. 由 ...
- ajax返回页面停留跳转
ajax返回数据后,页面停留跳转. 原理:利用匿名函数自动运行的特性和定时器来完成. (function(){ ; // 设置停留时间单位秒 var href =data.url; //设置跳转的ur ...
- Spring Security 使用Ajax登陆无法跳转页面解决方法
使用Security的朋友都知道,使用Security后,不再需要我们自己过多的(还需要写少量代码)写登陆的逻辑,只需要自己在html的登陆表单上面定义好输入框name为:username和passw ...
- 【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面
这几天粗浅的把shiro整合到spring中,并且注解控制shiro用户/角色/权限And/OR 步骤: 1.首先maven搭建web项目 2.创建数据库 user/role/authority 其中 ...
- php,ajax登陆退出
利用ajax可以做到页面无刷新登陆. 运行效果 目录结构 site/ css/ images/ js/ site/css/bootstrap.css(bootstrap样式表) site/js/boo ...
- 关于mvc ajax (post提交)——页面传值以及后台接收
// 前段页面,点击按钮触发Success事件 function success() { var BusiName =“公司名称”; var UserName = “用户”; var UserPhon ...
- 使用ajax实现无刷新改变页面内容
如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示 1 <%@ Page Language="C#" ...
- 基于ThinkPHP3.23的简单ajax登陆案例
本文将给小伙伴们做一个基于ThinkPHP3.2.的简单ajax登陆demo.闲话不多说.直接进入正文吧. 可能有些小伙伴认为TP自带的跳转页面挺好,但是站在网站安全的角度来说,我们不应该让会员看到任 ...
- Shiro整合SSH开发3:配置Shiro认证后页面地址跳转问题(和详述不配置须要注意的问题)
在视频教程中讲请求认证成功后跳转页面的问题是一笔带过的,可是我认为有必要单独写一篇相应的文章进行叙述. 我用了SSH来整合Shiro,在开发后验证的过程中,每次登陆后Shiro都会 ...
随机推荐
- Linux:Day6(下) vim编辑器
vim编辑器 简介: vi:Visual Interface,文本编辑器 文本:ASCII,Unicode 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi VIM - Vi IMprov ...
- Linux:Day2 发行版本、命令获取
Linux的哲学思想: 1.一切皆文件:把几乎所有资源,包括硬件设备都组织为文件格式: 2.由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好: 组合小程序完成复杂任务: 3.尽量避免跟用 ...
- 网站建设部署与发布--笔记3-部署Nginx
部署Nginx 操作系统CentOS 7.2 1.安装epel库 $ yum install epel-release -y 2.安装nginx $ yum -y install nginx 3.启动 ...
- 008_使用pyenv进行py开发环境管理
一. 安装Python 绝大多数Python入门书籍,都会介绍如何安装Python,然而,本书要介绍一种全新的安装方式.使用pyenv来安装并管理我们的环境. pyenv简介 由于Python的依赖是 ...
- 01 python初学(注释、交互、if while for)
为了能生存下去,一定要坚持学习! 目录 1. 注释 2. 用户交互 3. if .while.for 语句 1. 注释 单行注释: # 多行注释: 三个单引号 || 三个双引号 2. 用户交互: ...
- ActiveMQ 控制台使用方法
一.为什么使用ActiveMQ 在总线的设计中可能会使用到JMS(Java Message Service)通道, Java消息服务(JMS)超越了生产商专有的MOM(Message-Oriented ...
- [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...
- k8s 节点的 NodeAffinity 使用
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 kind: Deployment metadata: name: vi ...
- Spark笔记-gz压缩存储到HDFS【转】
参考:http://blog.csdn.net/u010454030/article/details/69291663 mergedRDD.saveAsTextFile(outputPath, cla ...
- Mysql5.5安装
1. 官网下载mysql5.5 下载地址: http://dev.mysql.com/downloads/mysql/5.5.html#downloads 2. 安装mysql5.5 注意,安装之前, ...