解决ajax请求下,后台sendRedirect页面跳转无效

ajax请求

Ajax的原理简单来说,实际上就是通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面
这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。
我们可以看出,XMLHttpRequest对象完全用来向服务器发出一个请求的,它的作用也局限于此,但它的作用是整个ajax实现的关键,我们可以把服务器端看成一个数据接口,它返回的是一个纯文本流,当然,这个文本流可以是XML格式,可以是Html,可以是javascript代码,也可以只是一个字符串。这时候,XMLHttpRequest向服务器端请求这个页面,服务器端将文本的结果写入页面,这和普通的web开发流程是一样的,不同的是,客户端在异步获取这个结果后,不是直接显示页面,而是先由javascript来处理,然后再显示页面

所以

由于请求都是采用Ajax的,所以每次发起ajax请求,虽然拦截器判断出未登录跳转登录页面,那么,这次ajax请求的结果就是这个页面(具体的说,这次请求返回的就是登录页面的源代码),237)">所以浏览器不会发生跳转. 通过在请求完成事件处理函数中判断返回的文本是不是登录页面的源码(比如检查返回值中是否包含<title>用户登录</title>,这个和登录页面有关了),如果包含,则top.location.href='登录页面的url'

还是只能从responseText中获取跳转信息使用js跳转


原文地址:http://blog.csdn.net/jazywoo123/article/details/7981791

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...