个人理解正常http url请求和ajax请求的区别:
1)正常的http url请求,只有浏览器和服务器两个参与者。浏览器端发起一个http请求,服务器端处理后发起一个重定向,浏览器端从response中获取到重定向地址,发起另一个http url请求。也就是说,浏览器会按照response中的内容进行响应(如重定向),这是浏览器的功能决定的就得响应。
2)Ajax请求,参与者就有三个即ajax、客户端、服务器,ajax处于客户端和服务器两者之间。过程是客户端发起一个ajax请求,服务器端处理后,如果发起一个重定向,然后ajax会怎么办呢?它只会获取刚才请求返回的数据,其他的任何动作一概不去做,ajax是这么做的(ajax功能就是这么设定的,ajax框架源代码也是这么写的)。
也就是说,引入了ajax之后,ajax就插在浏览器和服务器之间了,服务器给浏览器的response被ajax拦截了,但是ajax本身却什么都不做,也不转达。

也就是说,如果想要实现重定向,就得程序员自己来编码实现了,即改造ajax。参考:http://blog.csdn.net/ideality_hunter/article/details/61620875《 

ajax请求,session实效,自动跳转到登陆页

》 今天在写项目的时候,想加一个切换用户,需要清除session并且跳转到登录页面,发起一个ajax请求后,执行完发现无法跳转。 原因在于:(从网上摘录)Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了。所以浏览器端是不会发起重定向的。1)正常的http url请求,只有浏览器和服务器两个参与者。浏览器端发起一个http请求,服务器端处理后发起一个重定向,... export const getUtlParam = url => { url = url ? url : window.location.href.substring(0, window.location.href.length - 2); let str = url.substring(url.indexOf('?') + 1); let arrs = str.split('&'); 1.前端ajax传值后台。 2.response.sendredirect重定向、request.getRequestDispach().forward()转发页面不会刷新。 3.解决方法:     前端用form提交,或window.location.href=url?u=x&p=y;传值。... 不知道原因 第一次事件触发接口请求到了数据,但前端不更新 后续触发事件但展示的数据是上一次事件请求到的 解决的方式 then(response=>{})里面的数据是当次事件返回的数据,之前是把接口封装了一下在事件方法中调用封装方法(方便多次使用),现在直接直接在事件方法中单独写调用接口,返回数据的处理在response的箭头函数中完成, 再次实验成功 1.   服务器端跳转 2.   客户端无法感知(地址栏不变!) 3.   转发前后一共历经了2个页面,作为客户端一共发起1次请求,所以转发前后的2个页面中的所有request都代表同一次请求,总之,转发前后的2个页面中的所有reques 在做项目的时候需要登陆验证然后进行页面跳转,而在使用response重定向的时候,却报了以下错误: Cannot call sendRedirect() after the response has been committed 转发和重定向的区别: 重定向:以前的response中存放的变量全部失效,并进入一个新的response作用域。 转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。 重定向是两次请求重定向后地址栏变为第二次请求的页面,但是response重定向没有rut 它只会获取刚才请求返回的数据,其他的任何动作一概不去做,ajax是这么做的(ajax功能就是这么设定的,ajax框架源代码也是这么写的)。项目想要在后台进行页面跳转,用了response.sendRedirect,但是没反应,debug了一下,发现执行到重定向的时候没反应,当时就是一脸懵逼的,怎么重定向没有进行要页面跳转呢?也就是说,引入了ajax之后,ajax就插在浏览器和服务器之间了,服务器给浏览器的responseajax拦截了,但是ajax本身却什么都不做,也不转达。 通过response对象的sendRedirect方法重定向网页 制作人:全心全意 使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与转发不同。在客户端浏览器上将会得到跳转的地址,并重新发送请求链接。用户可以从浏览器的地址栏中看到跳转后的地址。进行重定向操作后,request中的属性全部失效,并且开始一...