如果账号或密码错误,直接Ajax返回个错误信息
但是如果账号和密码正确了,我想要直接request.getRequestDispatcher跳转,但是发现这样实现不了
是不是说就算账号、密码正确了,也要返回一个正确的结果给前台,然后再跳转,Ajax发送的请求不能用request.getRequestDispatcher转发请求吗?
Ajax是一个异步请求,应该不能直接跳转。
你可以返回一个true给前台,再请求新的资源。追问
你可以返回一个true给前台,再请求新的资源。追问
前辈你好,能和我说一下什么叫同步和异步吗?我觉得也是只能先返回页面再重新请求了
追答所谓异步,简答点说就是页面不销毁,局部发出请问做出响应。
同步就是直接把当前页面销毁,请求其他页面。
其实form表单提交或者点击链接都是同步,所以你可以通过转发来生成新的页面。
而异步不能把当前页面销毁。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-03-15
ajax相当于发起了一个新的请求,可以理解为打开了一个新页面,所以Dispatcher时是在ajax的新页面中跳转。
解决办法是根据ajax返回值调用页面js来跳转当前页面。本回答被网友采纳
解决办法是根据ajax返回值调用页面js来跳转当前页面。本回答被网友采纳
第2个回答 2014-03-15
试过:request.getRequestDispatcher(request,response).forward(".....jsp");吗?追问
使用的request.getRequestDispatcher("/info.jsp").forward(request,response);的形式,是不是说无论正确与否都需要将结果返回给前台,然后在前台再跳转呢?不能在后台处理过Ajax的请求后直接跳转吗?
追答可以,好像有个redirect();之类的方法可以跳转的,你可以网上搜一下!
追问不可以的,redirect不是一个请求链,我需要把我处理过的结果放入request里面再放到业务页面处理,用redirect请求立链就断了