form的enctype和action
form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。
当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。
当action为post时候,浏览器把form数据封装到http body中,然后发送到server。
如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。
但是如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。
如果有以下form,并选择了file1.txt上传
<form action="http://server.com/cgi/handle"
enctype="multipart/form-data"
method="post">
<input type="text" name="submit-name" value="chmod777"><br />
What files are you sending? <input type="file" name="files"><br />
</form>
则有如下body:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
chmod777
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
以上是我看了http://www.w3.org/TR/html401/interact/forms.html#h-17.13.1的理解,可能有误。:)
form的enctype和action相关推荐
- form 中Enctype=multipart/form-data 的作用
form 中Enctype=multipart/form-data 的作用 ENCTYPE="multipart/form-data"用于表单里有图片上传. <form na ...
- ajax enctype设置,form设置enctype属性为'application/json'不起作用
由于项目中需要向后台传复杂的json数据处理完然后跳转,大家的做法是用ajax提交数据然后在用location.href跳转,但是这样做需要写两个controller,正好今天百度看了可以设置form ...
- js 提交form表单,js更改form表单的action属性
2019独角兽企业重金招聘Python工程师标准>>> js 提交form表单 <s:form id="formID1" action="favo ...
- 当FORM的ENCTYPE=quot;multipart/form-dataquot; 时request.getParameter()获取不到
当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值. 解决方法: 提交普通表单时,在提交前: $(&q ...
- form表单的action属性设置相对路径
代码如下,当form表单中的action值为savebyform.do时,该表单提交的路径会是什么呢? <form name="form1" action="sav ...
- Cannot retrieve definition for form bean jellyForm on action /jelly.htm
不要每次问题都麻烦人家谷歌百度,把犯下的问题的记下来 struts1中报错: javax.servlet.jsp.JspException: Cannot retrieve definition fo ...
- form表单中的action属性
form表单中的action属性的值是表单提交给的url,如果我们没有设置action属性,那么默认的表单还是提交给当前页面 <form action = "register" ...
- form表单的action提交写到js中来,同时onclick事件也写在js中来。其action也可以通过ajax来提交的。...
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情 ...
- html form multipart,html form 中Enctype=multipart/form-data 的作用
ENCTYPE="multipart/form-data"用于表单里有图片上传. 表单标签中设置enctype="multipart/form-data"来确保 ...
最新文章
- LightGBM是什么?相对于xgboost有什么优势?如何使用randomSearchCV和lightgbm进行组合获取最优参数组合?
- SharePoint 2010 与 SQL Server 2012 报表服务集成
- 谷歌退出后百度首发财报 李彦宏称获益不少(转)
- 金融产品京东金融2015年战略主攻三大方向:股权众筹、农村金融和校园金融...
- NYOJ 99 单词拼接
- Unity3D的Time.timeScale
- 文本标点英文对齐_电脑健盘中的所有英文组合意思超值解释建议收藏
- loadrunner / socket level data and wininet level data
- Java基础学习总结(164)——别让Lombok使你的Java代码处于“亚健康”状态
- CommonJS模块的循环加载
- Linux禁止ping以及开启ping的方法
- 大数据系统如何提供抗击疫情信息
- python开发ios程序_使用Python开发iOS程序
- 虚拟机如何做服务器系统,sap虚拟机作为服务器(sap系统虚拟机)
- wordpress付费阅读_2020年27个最佳WordPress杂志主题[免费+付费]
- ubuntu 各版本
- Python中import的用法
- UnicodeTOGB,能够将Unicode串转换成GB码
- 2022-2028年中国SIP行业竞争现状及投资策略研究报告
- 电视尺寸与观看距离对应表
热门文章
- mybatis-generator-gui 如何exe化
- where T:new() 是什么意思
- kloxo 安装图解
- CyberArticle和Live Writer的比较
- jQuery: 仿select下拉框效果,点击空白关闭弹出层,判断是否被mouseover
- 使用 jQuery Mobile 与 HTML5 开发 Web App (十四) —— jQuery Mobile 方法下
- 判断来访者所用设备是iPhone、iPad或者电脑(PC)
- 使用@Embed嵌入元素
- Linux模块加载流程及如何让系统开机自动加载模块
- 【转载】Java线程池详解