ajax请求
Ajax的原理简单来说,实际上就是通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面。
这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。
我们可以看出,XMLHttpRequest对象完全用来向服务器发出一个请求的,它的作用也局限于此,但它的作用是整个ajax实现的关键,我们可以把服务器端看成一个数据接口,它返回的是一个纯文本流,当然,这个文本流可以是XML格式,可以是Html,可以是javascript代码,也可以只是一个字符串。这时候,XMLHttpRequest向服务器端请求这个页面,服务器端将文本的结果写入页面,这和普通的web开发流程是一样的,不同的是,客户端在异步获取这个结果后,不是直接显示在页面,而是先由javascript来处理,然后再显示在页面。
所以
由于请求都是采用Ajax的, 所以每次发起ajax请求, 虽然拦截器判断出未登录跳转到登录页面, 那么, 这次ajax请求的结果就是这个页面(具体的说, 这次请求返回的就是登录页面的源代码), 所以浏览器不会发生跳转. 通过在请求完成事件处理函数中判断返回的文本是不是登录页面的源码(比如检查返回值中是否包含<title>用户登录</title>, 这个和登录页面有关了), 如果包含, 则top.location.href='登录页面的url'
还是只能从responseText中获取跳转信息使用js跳转
原文地址:http://blog.csdn.net/jazywoo123/article/details/7981791