表单提交与服务器接收

ASP Request 对象:表单提交与服务器接收

概念

浏览器(客户端)填写表单提交数据,服务器端ASP通过Request对象接收用户输入。 两种提交方式:GETPOST,对应两套接收方法:

  1. GETRequest.QueryString("表单name")
  2. POSTRequest.Form("表单name")

表单里的 name 属性非常关键,不是id!服务器是根据name来读取数据。


GET提交

login.html(表单页面)

<form method="get" action="deal.asp">
    First Name: <input type="text" name="fname"><br>
    Last Name: <input type="text" name="lname"><br><br>
    <input type="submit" value="Submit">
</form>
Code language: HTML, XML (xml)
  • method="get":GET方式
  • action="deal.asp":提交数据到 deal.asp 页面

deal.asp(接收页面)

<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
Code language: CSS (css)

GET特点:

  • 数据拼在URL地址栏后面,例如:deal.asp?fname=Tom&lname=Smith
  • 数据可见,长度有限制,适合少量、非敏感数据

POST提交

修改表单 method="post"

<form method="post" action="deal.asp">
    First Name: <input type="text" name="fname"><br>
    Last Name: <input type="text" name="lname"><br><br>
    <input type="submit" value="Submit">
</form>
Code language: HTML, XML (xml)

deal.asp 改用 Request.Form 获取:

<body>
Welcome <%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>
Code language: HTML, XML (xml)

POST特点:

  • 数据放在请求消息体里,不会显示在URL
  • 传输数据更大,适合密码、表单等敏感内容

补充

1. Request(“name”) 简写写法

不写Form/QueryString,直接 Request("fname")

<%= Request("fname") %>
Code language: HTML, XML (xml)

原理:ASP会依次去 QueryString → Form → Cookie 里面查找。 不推荐正式代码使用,可读性差,容易混淆GET和POST。

2. GET 和 POST 对比表
项目GETPOST
form methodgetpost
接收对象Request.QueryStringRequest.Form
数据位置URL问号后面请求主体
安全性差,地址栏可见较好,看不到参数
数据大小有限制支持大数据

Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注