jquery ajax和后台请求重定向请求转发的踩坑心得

1.在使用了ajax作为请求方式的时候就不能再使用form表单的默认submit按钮

当我们给一个按键绑定了点击事件:通过ajax提交请求的时候,这个按键不能是submit按键,因为submit的功能是将表单中的所有输入内容提交到action指定的路径,然后关闭当前页面大剋新页面,而我们使用ajax通常是用来局部发送请求,来达到不使页面整体刷新的效果,所以submit按钮与我们使用ajax的初衷相违背。另外,如果我们给submit按钮绑定了ajax发送请求事件,那么,submit会默认向后台发送一次请求,然后ajax再向后台发送一次请求,我们显然不会希望这样的事情发生,所以,当我们想要实现局部发送请求的效果时,用ajax;想要实现页面发送请求后页面跳转的效果时,用form表单和submit,或者在ajax执行成功后的回调函数中使用window.location.href去控制页面的跳转。切不可滥用两者或者将两者混用。

2.使用ajax时,后台的请求转发和请求重定向不会被执行

当前台使用了ajax的时候,后台如果在servlet中写了request.getRequestDispatcher("").forward();
或者写了
response.sendRedirect();
的时候,并不会被执行,因为ajax的出现就是为了防止发送请求后刷新整个页面的,所以这里的请求转发和请求重定向都不会生效,因此,我们不能滥用ajax,在需要局部发送请求的时候再用,如果需要发送请求后跳转页面,还是不使用ajax比较方便。

未完待续。。。

猜你喜欢

转载自blog.csdn.net/qq_37856300/article/details/83216847