点击提交按钮会发生什么?让我有一个位于http://example.com/
网址上的表单,其中包含两个input
元素:
<form method="get">
<input type="text" id="field1" name="namefield1"/>
<input type="text" id="field2" name="namefield2"/>
<input type="submit" value="submit"/>
</form>
在我的特定情况下,实际获得请求的内容是否会发送到http
- 服务器?
答案 0 :(得分:18)
表单将提交给服务器,浏览器将重定向到浏览器的当前地址,并作为查询字符串参数附加输入字段的值。
就HTTP协议而言,将发送以下GET请求HTTP请求:
GET http://example.com/?namefield1=value1&namefield2=value2 HTTP/1.1
Host: example.com
由于<form>
缺少action
属性,浏览器只会通过将值附加为查询字符串参数来重定向到当前网址。因此,如果此表单在提交后从http://example.com/foo.php
加载,则浏览器将重定向到http://example.com/foo.php?namefield1=value1&namefield2=value2
,其中value1
和value2
将是用户在相应输入中输入的值字段。
此外,您可以使用浏览器的内置调试工具或Fiddler
来检查发送到服务器的确切有效负载。
答案 1 :(得分:3)
如果您使用'get'方法提交表单,那么它将执行get请求,从而将查询字符串中输入元素中保存的数据作为名称值对发送。例如http://example.com/index.html?field1=joe&field2=bloggs
如果您向下滚动到底部的提交按钮示例,请参阅此处的示例:http://www.w3schools.com/html/html_forms.asp