ajax只支持局部刷新,所以和重定向的概念完全不同,这里简单分析一下原因:
response.sendRedirect的机制
response.sendRedirect
做重定向的机制,其实是向服务器发送一个特殊的Header,由浏览器做重定向,所以从代码层面我们可能觉得它是由服务器发起直接重定向,但实质还是浏览器在做相关的工作,它的过程是从一个页面到另一个页面,分属两个不同的页面.
ajax的机制
ajax的原理很简单,就是通过XmlHttpRequest
对象向服务器发送请求,从服务器获取数据.XmlHttpRequest
对象的作用就是向服务器发送请求,它的作用也仅仅局限于此,所以ajax的作用也局限于此:发送请求获取数据.所以我们也不要苛求ajax做更多其他的功能了.ajax返回的是一个纯文本流,作用域仅仅是在这个页面,所以无法执行response.sendRedirect
对浏览器要求的跳转页面的操作.