单击提交按钮时会发生什么

时间:2014-02-16 16:52:05

标签: html get

点击提交按钮会发生什么?让我有一个位于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 - 服务器?

2 个答案:

答案 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,其中value1value2将是用户在相应输入中输入的值字段。

此外,您可以使用浏览器的内置调试工具或Fiddler来检查发送到服务器的确切有效负载。

答案 1 :(得分:3)

如果您使用'get'方法提交表单,那么它将执行get请求,从而将查询字符串中输入元素中保存的数据作为名称值对发送。例如http://example.com/index.html?field1=joe&field2=bloggs

如果您向下滚动到底部的提交按钮示例,请参阅此处的示例:http://www.w3schools.com/html/html_forms.asp