表单的提交方式POST和GET

原创 2007年09月19日 08:51:00




Post和Get都是表单属性Method的可选值,Method的默认值为Get,两者的主要区别在于:
1.在客户端,Get方式在通过URL提交数据,提交后在地址栏中的地址如图1.4.3所示。

图1.4.3 Get方式提交表单后的地址栏

而Post提交后地栏不变,如图1.4.4所示。

图1.4.4 Post方式提交表单后的地址栏不变

2.在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式提交的数据只能用Request.Form来获取:

<%@language="VBScript" Codepage="936"%>
<html>
<head>
<title> 表单提交方式测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form method="post" action="<%=Request.ServerVariables("Script_Name")%>">
  提交数据:
  <input name="oStr" type="text">
    <br>
    提交方式:
    <select name="select" onchange="this.form.method=this.value">
      <option value="Post" selected>Post</option>
      <option value="Get">Get</option>
    </select>
    <br>
  <input type="submit" name="Submit" value="提交">
</form>
<%
 if Request("Submit")<>"" then
        Response.Write "通过"&Request.ServerVariables("Request_Method")&"方式提交的数据为:"
    if Request.ServerVariables("Request_Method")="GET" then
          Response.Write Request.QueryString("oStr")
    else
          Response.Write Request.Form("oStr")
    end if
end if
%>
</body>
</html>

注意:虽然两种提交方式可以统一用Request("oStr")来获取提交数据,但是这样对程序效率有影响,不推荐使用。
特别提示
通过IIS运行本例代码(用http://localhost/method.asp这种方式来浏览,有关IIS的安装和配置,请参考第四部分),输入所提交的数据,选择Post方式提交,将看到图1.4.4所示的效果。选择Get方式提交,效果将如图1.4.3所示。

特别说明


一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中,用Get方式就比用Post好。本例中用到的表单的属性解释(ASP部分请参考第四部分):
    Get把参数添加到action属性指定的地址中,并以锚方式打开。
    Post通过HTTP post处理发送数据。

总结:
在提交时的区别:
一:get提交最大能提交8192个字符,执行效率高,但不安全 post提交没有大小限制,效率比get低,安全
二:post是传输信息内容,get是传输url值
 GET -- 这是缺省方式,填充form的内容将被附在 URL 的后面,就好象它是一个普通的查询请求. POST -- 这种方式把 form 的内容用一个数据块方式发送给服务器,而不是作为 URL 的一部分.
三:POST 在HTTP请求的主体内 Request.Form读取数据. GET 标识在URL的最后 Request.QueryString读取数据 GET 有一个缺点就是URL字符的长度被浏览器及服务器使用时有一些限制, 还有一个就是把HTTP请求中通过WEB传递的数据暴露出来 .

相关文章推荐

表单提交Post方法、Get方法背后的秘密

表单大家都很熟悉,上网的时候经常会遇到表单         表单用来接受用户的输入,并将用户的输入以“name=value值对”集合的形式提交到服务器进行处理。那...

表单中 get与post提交方法的区别

表单提交中get和post方式的区别有5点  1.get是从服务器上获取数据,post是向服务器传送数据。  2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个...

form表单的两种提交方式,submit和button的用法

1.当输入用户名和密码为空的时候,需要判断。这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写;有两种方法,一种是用submit提交。一种是用button提交。 方法一: 在jsp的...

表单提交Post方法、Get方法背后的秘密

(转载)http://blog.csdn.net/wzwenhuan/article/details/7803510 表单大家都很熟悉,上网的时候经常会遇到表单 ...

表单提交中get和post方式的区别

表单提交中get和post方式的区别有5点  1.get是从服务器上获取数据,post是向服务器传送数据。  2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段...

超链接 a href 提交表单通过post方式

我们知道超链接一般是通过get方式提交表单的,如下列子: 首页 如果想用超链接post这个表单该怎么做呢,请看下面: 首页...

JavaScript 实现POST方式提交表单

使用js实现POST表单提交主要应该在使用url数据提交时url地址超长的问题。 JavaScript代码如下: //Post方式提交表单 function PostSubmit(url, da...

HTML中<form>表单method的get方式和post方式

在B/S应用程序中,前台与后台的数据交互,都是通过HTML中form表单完成的。form提供了两种数据传输的方式:get和post,用个“登录”这个例子来简单理解二者提交和获取方式的不同。...

通过GET和POST方式提交表单

通过get方式提交表单(注意大写)   建立url连接添加name+pass(注意此时要将中文的name用URLEncoder.encode(name)解析     例子:  public class...
  • iceSony
  • iceSony
  • 2016年10月08日 16:31
  • 768

提交表单--get与post方式

我们经常在网页上输入信息,然后通过按钮提交,有两种提交方式,get和post get方式效率高但安全性低,post是封装后进行提交安全性高。 get方式经常用于搜索,查询   post常用与用户注...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:表单的提交方式POST和GET
举报原因:
原因补充:

(最多只允许输入30个字)