前面的话
现代Web应用中频繁使用的一项功能就是表单数据的序列化,XMLHttpRequest 2级为此定义了FormData类型。FormData为序列化表单以及创建与表单格式相同的数据提供了便利。本文将先介绍表单编码,然后过渡到表单序列化,最后引出FormData的核心概念
表单编码
当用户提交表单时,表单中的数据(每个表单元素的名字和值)编码到一个字符串中并随请求发送。默认情况下,HTML表单通过POST方法发送给服务器,而编码后的表单数据则用做请求主体
对表单数据使用的编码方案相对简单:对每个表单元素的名字和值执行普通的URL编码(使用十六进制转义码替换特殊字符),使用等号把编码后的名字和值分开,并使用"&"符号分开名/值对。一个简单表单的编码如下所示
find=pizza&zipcode=01234&radius=1km
表单数据编码格式有一个正式的MIME类型
application/x-www-form-urlencoded
当使用POST方法提交这种顺序的表单数据时,必须"Content-Type"请求头为这个值
[注意]这种类型的编码并不需要HTML表单,在Ajax应用中,希望发送给服务器的很可能是一个javascript对象
前面展示的数据变成javascript对象的表单编码形式可能是:
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26