Form的enctype属性
属性 Form
2023-09-11 14:18:05 时间
Form的enctype属性
一般都使用html的Form表单通过HTTP POST方法发送Request body。下面是一个form:
<form action="/process" method="post">
<input type="text" name="first_name"/>
<input type="text" name="last_name"/>
<input type="submit"/>
</form>
如果使用GET方法,input中的key/vaule会编码后放进URL的query部分发送出去。如果使用POST方法,input中的key/value会编码后放进request的body中发送出去。
例如:
first_name=xxx&last_name=yyy
这是默认的情况:key=value,并使用"&"符号连接多个key/value。
但并非一定会如此组织,它由form的enctype属性决定的:<form action="/process" method="post" enctype=xxxxxx>
。这个属性有三种值:
application/x-www-form-urlencoded
multipart/form-data
text/plain // HTML5支持该值
默认的值为application/x-www-form-urlencoded
,它的组织形式上面已经解释了。
如果设置为multipart/form-data
,则会将编码后的key/value将组织成MIME数据的形式。例如:
------WebKitFormBoundaryMPNjKpeO9cLiocMw
Content-Disposition: form-data; name="first_name"
sau sheong
------WebKitFormBoundaryMPNjKpeO9cLiocMw
Content-Disposition: form-data; name="last_name"
chang
------WebKitFormBoundaryMPNjKpeO9cLiocMw--
那么选择哪个enctype组织形式?如果是简单的文本类型,使用默认的application/x-www-form-urlencoded
会更简单、更高效。但如果发送大量数据(比如上传文件),应该使用multipart/form-data
,甚至将数据进行Base64编码后,也可以使用multipart/form-data
的形式。
相关文章
- $("#EditClient-Form").data("validator").form();
- python类的内置属性,原本具足,无需人为干预
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- Javascript将字符串日期格式化为yyyy-mm-dd的方法 js number 类型 没有length 属性 string类型才有
- Google Earth Engine(GEE)——无法用get获取矢量中的属性值
- 猴子也能学会的jQuery第八期——jQuery属性操作
- object 类型 修改属性值,eslint 报错
- 微信小程序之 Classify(商品属性分类)
- 激活函数属性有哪些?(转载)
- MVC验证13-2个属性至少输入一项
- Cookie的Secure属性和HttpOnly属性
- SuperSlide之属性targetCell介绍
- Js document.frmLogin.action = '/login.htm';的意义和form表单的target属性
- Request获取具有相同 name 属性表单元素值
- Unity3D ParticleSystem粒子系统面板参数的属性整理
- Vue学习第37天——.sync修饰符、$attrs和$listeners属性的使用场景和案例
- C#常用的form窗体属性(最大化、最小化、窗体居中)