浏览器传递参数信息

来源:互联网 发布:2016农行网银 mac 编辑:程序博客网 时间:2024/05/22 17:27
 

使用GET方式传递参数

1、  在浏览器地址栏中输入某个URL地址或单击网页上的一个超链接时,浏览器发出的HTTP请求消息的请求方式为GET。

2、  如果网页中的<form>表单元素的method属性被设置为了“GET”,浏览器提交这个FORM表单时生成的HTTP请求消息的请求方式也为GET。

3、  使用GET请求方式给WEB服务器传递参数的格式:

                             http://www.it315.org/counter.jsp?name=zhangsan&password=123

4、  使用GET方式传送的数据量一般限制在1KB以下。

使用POST方式传递参数

1、  POST请求方式主要用于向WEB服务器端程序提交FORM表单中的数据。

2、  POST方式将各个表单字段元素及其数据作为HTTP消息的实体内容发送给WEB服务器,传送的数据量要比使用GET方式传送的数据量大得多。 

3、  <form>表单元素的enctype属性用于指定浏览器使用哪种编码方法将表单中的数据传送给WEB服务器,该属性可以有两种取值:

ü       application/x-www-form-urlencoded

ü       multipart/form-data

4、 POST请求消息的格式:

POST /counter.jsp HTTP/1.1

referer: http://localhost:8080/Register.html

content-type: application/x-www-form-urlencoded

host: localhost:8080

content-length: 43  

name=zhangsan&password=123

提交、重置、普通按钮如何传送参数

1、  在一个FORM表单中可以有多个提交按钮,单击任何一个提交按钮都可以提交表单,只有被单击的提交按钮的名称和值才被作为参数传递,其它提交按钮的信息不会作为参数传递。

2、  表单中的普通按钮与重置按钮的名称和值不会作为参数传递。

3、  没有设置name属性的表单字段元素的信息不会作为参数传递

 

单行与多行文本输入框如何传送参数

不管单行和多行文本输入框中是否有内容,设置了name属性的文本输入框的信息总是会作为参数传递。如果文本框中没有输入内容,可以认为其内容为一个空字符串(“”),其参数形式为“text1=”。 

单选按钮与复选框如何传送参数

①     只有被选中的复选框和单选按钮的信息才会作为参数传递,未被选中的复选框和单选按钮的信息不会作为参数传递。

②     对于多个名称相同的复选框,它们可以同时被选中;对于多个名称相同的单选按钮,只能同时选中其中的任意一个。

③     对于被选中的多个同名复选框,它们的信息将以多个名称相同的参数进行传递,即参数列表中会出现多个名称相同的参数。

④     对于没有设置value属性的单选按钮和复选框,当它们被选中时,它们传递的默认参数值为“on”。 

隐藏表单字段与图像字段如何传送参数

①     隐藏表单字段元素总是被作为参数传递给WEB服务器。如果要在提交FORM表单时将网页中的JavaScript程序获得的信息或者上次的WEB服务器端程序产生的标记信息传送给WEB服务器,使用隐藏字段就是一个很好的办法。

②     图像字段元素也可以提交FORM表单,用户单击图像字段元素后,表单中的其他信息和图像上单击处的x、y坐标一起传送给服务器,x坐标对应的参数名是图像元素名后加上.x(如image1.x),y坐标对应的参数名是图像元素名后加上.y(如image1.y)。

列表框如何传送参数

①     没有作出选择的列表框的信息不会作为参数传递,就象表单中没有这个列表框的情况一样。

②     如果设置了列表框字段元素的multiple属性,可以选择列表中的多个选项。对于选中的每个选项,它们都会与列表框的名称分别组合成单独的参数后进行传递,这样,参数列表中会出现多个名称为列表框名的同名参数 。

③     当选中没有设置value属性的列表选项时,浏览器使用该选项的标题作为参数值。

使用Javascript防止重复提交表单

<script>

var isCommitted = false;

function checkPost()

{

                             if(!isCommitted){

                                    isCommitted = true;

                                    return true;

                             }else{

                                    alert("不能重复提交表单");

                                    return false;

                             }

}

</script>

<form action="servlet/RepeateFormServlet" method="POST" onsubmit="return checkPost()">...

 

 

原创粉丝点击