一、区别与应用: Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下: 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。 5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 6、Get是Form的默认方法。
二、从HTML中发送数据,在ASP中如何接收? 在form表单的action属性值里面有一个相对路径指向asp文件。就是用这个asp文件来接收和处理的。<input type="text" name="变量名" value=""> 如果使用GET方法发送数据: 接收方式:request.QueryString("变量名") 如果使用POST方法发送数据: 接收方式:request.Form("变量名")
举例: <!--html--> <form action="?operation=add" method="post"> <input name="name" value="This is text!" type="text"> </form> 'get.asp <% operation=Request.QueryString("operation") 'operation="add" value=Request.Form("name") 'value="This is text!" %>
三、表单递交GET方法探索假设在index.asp中建立如下表单:<form method=Get name=MyForm><select name=CurrentPage><option>1</option><option selected>2</option></select><input type=hidden name=class value=1></form>
当用javascript语句:document.MyForm.submit()递交表单后,将在当前窗口建立如下url地址页面:index.asp?CurrentPage=2&class=1
GET方法接受的值的URL长度不宜超过255字节。