走进AJAX

什么是AJAX?
异步不刷新技术。

同步与异步的区别?
同步:发送一个请求,等待响应过后才能发送另一个请求。要求对方时刻在线才能进行通信,比如打电话,如果你打电话,对方不接,之间就没有通信,传递不了信息,好处是实时性好。
异步:发送一个请求,不需要等待后台响应就能发送下一个请求。无论在不在线都能通信,比如发邮件,我给你发邮件只要知道你的邮箱,我给你发十封,一百封都能发过去,但是实时性就相对较差,我发十封信,你可能十天半个月才回我一封信。

不刷新:浏览器左上角的不会出现刷新情况,就能进行数据交互。

SpringBoot后台为例
传统的跳页面方式
A.jsp页面(a标签或者from表单)–》controller层(request.getParameter接收参数,处理信息mv.setViewName("/B"),带参数mv.addObject(“key”,“value”))–》B.jsp页面(${key}获取参数)

AJAX跳转
很遗憾,ajax不能跳转页面,这也是一大缺陷,如果想跳转,只能在js里的success里window.location.href跳转了。不过不刷新页面已经是很大的改进了,要啥自行车!废话不多说,看流程。
A.jsp(js代码传递数据到后台)–》controller(return list或者String都可以)–》A.jsp(js接收后台返回的内容获取。)

注意:写ajax时springBoot后台要加@ResponseBody注解,使用@Responsebody标识的方法表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。

猜你喜欢

转载自blog.csdn.net/qq_41373328/article/details/83750781