用ajax 在Servlet进行逻辑处理,但是最后我想使用response.sendRedirect进行跳转,发现无效果
2个回答
展开全部
- -response.sendRedirect是重定向,他的原理是将你的请求回传给客户端然后客户端重新发送请求给你方法中所定义的请求地址,而且你原先所封装的所有参数都会丢失。
应该用转发 request.getRequestDispather().forward(req,res);转发的原理是将客户端传递过来的请求直接由服务器转发,而且会将request对象一起帮你转过去
不过我很懒惰但又不想像网上那种没试过就乱说的人误导别人。所以声明下我没试过只是凭空猜测下。毕竟懒得写个AJAX做实验- -d
应该用转发 request.getRequestDispather().forward(req,res);转发的原理是将客户端传递过来的请求直接由服务器转发,而且会将request对象一起帮你转过去
不过我很懒惰但又不想像网上那种没试过就乱说的人误导别人。所以声明下我没试过只是凭空猜测下。毕竟懒得写个AJAX做实验- -d
追问
试过了 没效果,Ajax是通过XMLHttpRequest对象 与服务器通讯的 你说的那个跳转貌似是通过页面跳转发送的请求,是不是不能这么用啊
追答
查了下原理:
服务器要控制页面跳转必须客户端提交请求,服务器接到请求后,将处理后的html返回至页面展示
AJAX是从服务端获取到内容后利用客户端脚本替换InnerHtml,这本质上是客户端的行为,所以Ajax只是利用脚本访问对应地址获取数据而已,不能做除了获取返回数据以外的其它动作了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询