asp 读取通过表单发送的post数据(4)


<option>电脑</option>
<option>购物</option>
<option>电影</option>
<option>读书</option>
</select> <br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="Reset">
</form>
</BODY></HTML>
<%End If%>
(二)如果使用GET方法传送数据,则用Request.Querystring来读取数据。
先编辑如下一个wuf13.htm文件,供用户输入数据:
<html>
<body bgcolor="#FFFFFF">
<form method="get" action="wuf14.asp">
英文姓名: <input type="text" name="Ename"> <br>
中文姓名: <input type="text" name="Cname"><br>
性别: <select name="gender">
<option>男</option>
<option>女</option>
</select> <br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="Reset">
</form>
</body>
</html>
再编写一个wuf13.htm需用到的文件wuf14.asp收集数据:
<%@ Language=VBScript %>
<% 'wuf14.asp
Option Explicit
Response.Expires=0
Dim StrCname, StrEname, StrGender
StrEname = Trim(Request.QueryString("Ename")) 'Trim函数用来除首尾空格
StrCname = Trim(Request.QueryString("Cname"))
StrGender = Trim(Request.QueryString("gender"))
%>
<HTML><BODY>
英文姓名: <%= StrEname%><Br><Br>
中文姓名: <%= StrCname%><Br><Br>
性别: <%= StrGender%><Br><Br>
看看提交的字符串: <Br>
<%= Request.ServerVariables("Query_String")%>
</BODY></HTML>

为了更好地理解这个程序,你最好先在浏览器中试试例程wuf13.htm的效果,看看输出的结果,你会发现地址栏中长长的字符串似曾相识,如同在Yahoo搜索时看到的差不多。这时,你试着在地址栏中直接输入“http://localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女”,居然也得到了同样的结果。所以你可以这样看,wuf13.htm的结果就是得到了类似这样的一个带参数的链接。而Request.QueryString则是从http:// 地址的附加参数中读取各个数据。

实际上,当按“提交”按钮后,查询字符串(输入的数据)会以参数的形式附加到URL地址后(各参数间以“&”分隔),达到传递数据的目的。同时,注意浏览器中显示的查询字符串中没有中文,而是不认识的含百分号的乱码,这是因为进行了编码的缘故。最后,与前面一样,这两个程序也可合并为一个程序(例程wuf15.asp,需去我站点下载)。
几点说明
1. 若使用POST方法提交数据,则Request.ServerVariables("Content_Length")>0。
若使用GET方法提交数据,则Request.ServerVariables("Query_String") <> ""。