Form提交的几种数据格式
2019-02-21 本文已影响0人
Mr_强哥
form属性简述
<form action="url" name="name" method="get/post" enctype="" target=""></form>
- form表单拥有5个比较重要的属性:action,name,method,enctype,target。
- enctype:表单数据提交时使用的编码类型,默认使用"application/x-www-form-urlencoded",如果是使用POST请求,则请求头中的content-type指定值就是该值。如果表单中有上传文件,编码类型需要使用"multipart/form-data"类型,才能完成传递文件数据。
- 值得注意的是:enctype为form表单数据的编码格式,Response Header下的content-type为Http传输的数据的编码格式。请各位务必区分。
四种常见的 POST 提交数据方式
-
application/x-www-form-urlencoded 默认选择方式
首先,Content-Type 被指定为 application/x-www-form-urlencoded;其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。 -
multipart/form-data
我们使用表单上传文件时,必须让 <form> 表单的 enctype 属性值等于 multipart/form-data。 -
application/json
现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口。
上传数据格式如下:
image.png -
text/xml
它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。