异步请求中前后端数据交互时的格式
2021/8/12 23:08:58
本文主要是介绍异步请求中前后端数据交互时的格式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 后端发送给前端
无论是哪种写法,无论是哪种回调函数,服务器那边封装数据都是封装为map集合,然后借助第三方jar包将集合转为字符串型json,最后以IO流传给前端——因为是异步请求,所以都是用IO流这种异步请求的返回方法,因此只能传递字符串。
而AXIOS提供的异步请求方法在参数列表接收到的数据都是xmlHttpResponse(响应对象),里面包含了配置信息config、数据data、响应头headers、请求头request、状态码status,实际使用时得从中取出data——这是json格式
异步请求中在回调函数获得的数据是xmlHttpResponse:
从响应对象中取到的data是json格式:
AXIOS的回调函数中拿到的就是xmlHttpRequest对象,如果我们希望传给方法体的是json或者其他类型,那么就写一个类似工具类的东西,在方法体开头对xmlHttpRequest对象进行转换(或者说二次封装)
2 前端发送给后端
解决使用axios发送json后台接收不到的问题_mytac的博客-CSDN博客
也是在异步请求中完成数据的发送——通过请求参数,通常都是将一个json对象传过去,如果用了VUE,就是将VUE的data中的某个json对象传过去。
AXIOS会自动的将json对象转为json字符串以便于B/S之前的数据传递。
此时后端拿到的依然是请求头HttpServletRequest 然后基于其中包含的type键值对通过switch-case分发数据
进入switch-case对应的函数后,直接使用servlet封装好的方法将数据存到一个实体对象中,再将结果(也是字符串)用IO流返回——因为是异步请求,所以都是用IO流这种异步请求的返回方法
实际上我们可以使用第三方jar包将获取到的json字符串重新转回对象,也能实现下图中的操作,这样我们就不用写这个servlet封装的工具类了,老师使用这个只是为了让我们知道第三方jar包实际做的是什么工作。
这篇关于异步请求中前后端数据交互时的格式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南