用ajax 在Servlet进行逻辑处理,但是最后我想使用response.sendRedirect进行跳转,发现无效果

后来在JS里用的window.location有高手能否解答一下为什么无效呢... 后来在JS里用的window.location 有高手能否解答一下为什么无效呢 展开
 我来答
bigjjblackjun
2012-03-18
知道答主
回答量:16
采纳率:0%
帮助的人:15.9万
展开全部
- -response.sendRedirect是重定向,他的原理是将你的请求回传给客户端然后客户端重新发送请求给你方法中所定义的请求地址,而且你原先所封装的所有参数都会丢失。
应该用转发 request.getRequestDispather().forward(req,res);转发的原理是将客户端传递过来的请求直接由服务器转发,而且会将request对象一起帮你转过去

不过我很懒惰但又不想像网上那种没试过就乱说的人误导别人。所以声明下我没试过只是凭空猜测下。毕竟懒得写个AJAX做实验- -d
追问
试过了 没效果,Ajax是通过XMLHttpRequest对象 与服务器通讯的 你说的那个跳转貌似是通过页面跳转发送的请求,是不是不能这么用啊
追答
查了下原理:
服务器要控制页面跳转必须客户端提交请求,服务器接到请求后,将处理后的html返回至页面展示
AJAX是从服务端获取到内容后利用客户端脚本替换InnerHtml,这本质上是客户端的行为,所以Ajax只是利用脚本访问对应地址获取数据而已,不能做除了获取返回数据以外的其它动作了。
少女心Eve
2012-03-18 · 记录美好生活每一天,分享生活新鲜事。
少女心Eve
采纳数:590 获赞数:714

向TA提问 私信TA
展开全部
逻辑处理,就别用重定向了啊,用转发吧
request.getRequestDispather().forward(req,res);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式