目录 表单提交数据的时候为什么要用序列化 get和post ajax提交时的序列化 表单提交数据的时候为什么要用序列化 get和post get是将明文数据追加到url后面提交,post是将密文数据封装到请求
目录
- 表单提交数据的时候为什么要用序列化
- get和post
- ajax提交时的序列化
表单提交数据的时候为什么要用序列化
get和post
- get是将明文数据追加到url后面提交,post是将密文数据封装到请求体。无论是submit还是ajax都是这样的。
- submit提交的数据属于默认提价方式,所以submit的get和post都是经过序列化后的可以被直接识别,并且序列化后的格式为中间加&的格式(注意这并不是序列化后的唯一标志,序列化的功能并不只如此)。
- 序列化后的数据能够被后端直接识别。把表单中所有的键值对的数据变成后台能够识别的键值对方式。没有序列过后的数据是不能识别的,有重复的或者不合法的不合理的数据。所以必须序列后才能提交数据。
- 直接把数据跟在url后面的数据是受到url长度限制的。get提交方式将数据封装在url后面post提交数据封装在请求体中并不是一成不变的,可以后面设置改变的。
ajax提交时的序列化
- ajax提交表单中的数据默认是没有序列化的所以要序列化(get和post都没有)。序列化分为两种方式。分别是serialize()和serializeArray() 。
- serialize()序列化为中间加&的方式。序列化并不是只在中间加个&就可以了,还有进行数据整理等功能。这种序列化后的格式就是和submit提交的同一种方式,可以直接接收了。
- serializeArray() 序列化成json的格式。这种序列化后的数据要在接收方加上@Requestbody之后才能和submit那种默认提交方式一样接收数据。