- 可以设定form的method属性指定表单提交方式,get(默认值)是通过URL传递表单值,post传递的表单值是隐藏到http报文中,url中看不到。
- 点击type=submit的按钮会自动提交表单。
- get和post的区别(常考):get是通过url传递表单值,post通过url看不到表单域的值;get传递的数据量是有限的,如果要传递大数据量不能用get,比如type="file"上传文章、type="password"传递密码或者<textarea>发表大段文章,post则没有这个限制;post会有浏览器提示重新提交表单的问题,get则没有(加分的回答)。对于Post的表单重新敲地址栏再刷新就不会提示重新提交了,因为重新敲地址就没有偷偷提交的数据了
- Get方式URL数据格式。服务端文件名后跟着“?”,由于客户端可能向服务器端提交多个键值对,键值对之间用“&”进行分割,如果URL中有汉字、特殊符号等,则需要对URL进行编码。
- 表单域只有设定了name的才会被提交给服务器(用get方式看的清楚)。如果给submit按钮设定name,那么按钮的value也会被提交给服务器
可以看到,使用post属性以后,提交后,url中没有键值传递了
Form的method属性指定表单的提交方式的问题 *
1)get(默认值)是通过地址栏的URL显式地传递表单;
post传递的表单值是隐藏在Http报文中,URL地址栏中是看不到的;
2)get传递值的数量是有限的,会受到地址栏长度的影响,好像最大是2K个字节,而post则没有限制。
3)post当刷新页面时,会有浏览器提示重新提交表单的对话框,而get则没有。
1)get(默认值)是通过地址栏的URL显式地传递表单;
post传递的表单值是隐藏在Http报文中,URL地址栏中是看不到的;
2)get传递值的数量是有限的,会受到地址栏长度的影响,好像最大是2K个字节,而post则没有限制。
3)post当刷新页面时,会有浏览器提示重新提交表单的对话框,而get则没有。