前面的话

  现代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对象的表单编码形式可能是:

        		

网友评论