ASP Request 对象:表单提交与服务器接收
概念
浏览器(客户端)填写表单提交数据,服务器端ASP通过Request对象接收用户输入。 两种提交方式:GET 和 POST,对应两套接收方法:
GET→Request.QueryString("表单name")POST→Request.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 对比表
| 项目 | GET | POST |
|---|---|---|
| form method | get | post |
| 接收对象 | Request.QueryString | Request.Form |
| 数据位置 | URL问号后面 | 请求主体 |
| 安全性 | 差,地址栏可见 | 较好,看不到参数 |
| 数据大小 | 有限制 | 支持大数据 |
Previous: Exit语句
Next: ASP Cookie