问题
axios.post('http://localhost:8080/javaWeb/RegisController', params)
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws servletexception, IOException {
//...
this.getServletContext().getRequestdispatcher("/home.html").forward(req, resp);
}
原因
原因其实也不难,主要是servlet拿到的是ajax发送过来的request,也就是说这个请求不是浏览器请求的,而是ajax请求的,所以,servlet对request进行请求转发或重定向都不能影响浏览器的跳转…..也就出现了我们遇到的请求转发和重定向失效的问题.
解决问题
不管正确还是错误,都应该返回一个值给ajax,让ajax去跳转或干其他的事.使用ajax本来就是为了局部刷新网页,而不是跳转
axios.post('http://localhost:8080/javaWeb/RegisController', params)
.then(response => {
//成功则改变路径
location.href = "./home.html"
}, reason => {
alert('验证码错误,请重试!');
//验证码
addData();
})
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws servletexception, IOException {
if (判断条件){
//响应状态码
resp.setStatus(200);
}else{
resp.setStatus(404);
}
}
参考文档:(11条消息) servlet的后台页面跳转和ajax的页面跳转_tao911110的博客-CSDN博客
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。