Jquery中request和request.form和request.querystring的区别

  作者:bea

Request.Form是获取以POST方式提交的表单数据; Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据 而Request则包含以上两种方式,会在Request.QueryString和Request.Form中都查询一遍变量。但是优先获取GET方式提交的数据,即Request.QueryString Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable

Request.Form是获取以POST方式提交的表单数据;


Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据


而Request则包含以上两种方式,会在Request.QueryString和Request.Form中都查询一遍变量。但是优先获取GET方式提交的数据,即Request.QueryString
Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。


而且有时候也会得到不同的结果。如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在 QueryString、ServerVariable中也搜寻一遍。


如果正好你的QueryString或者ServerVariable里面也有同名 的项,你得到的就不是你原本想要的值了。


request.querystring 是用来接收地址里面?后面的xx=xx的内容


而request.form 是用来接收表单递交来的数据


例如 request("offline")


就无论采用的是以上哪种方法的字段值都可以读取了


request.form是指用form递交过来的数据。而request.querystring则是指用URL递交过来的。你用的是login.asp?offline=true,这个当然是URL递交的啦。


Request.Form和Request.QueryString两个接收参数来源不同,前者是接收从表单Form来的参数,后者是从URL来的参数。


你这有这一句logon.asp?offline=true这是URL的传递参数。


如果要用Request.Form()的话,那页面至少得有个表单,比如:




<form name=form1 method=post action=logon.asp>
<input type=text name=user value="">
</form>


这样在提交过表单后,就可以用Request.Form("user")得到这个文本框传递过来得数值。




request.querystring和request.form的区别
request.querystring是用post方法读取的 不安全
request.form是用get方法读取的
form表单中的method中看你是get还是post
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<p>
<%
if request.querystring("offline")="true" then
session.Abandon()
response.Redirect("login1.htm")
end if
%>
欢迎进入:<%=request.Form("user")%></p>
<p>当前联机人数为:</p><%=application("onlinenum")%>
<p><a href=login.asp?offline=true>离开</a></p>
</body>
</html>


总结;


1.Request.form方法,它是用来接收表单变量的(post 方法)


2.Request.QueryString方法, 它是接收URL参数的 (get 方法)


3.Request对象也可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是 指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率。Request:包含以上两种方式(优先获取GET方式提交的数据),它会在 QueryString、Form、ServerVariable中都搜寻一遍。


两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而 request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用 request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另 外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。 request.form方法不存在上述问 题,因此大量被应用在多个文本域提交数据和用户登陆的场合


ps:get和post的区别


get方法把参数及参数值暴露给访客,所以是不安全的。而且url传送的参数长度有限,但便捷。
post方法传送的参数长度可以很大,而且参数及参数值不被访客所看到。


总结:


在使用request("Reportdate")读取传递的数据“Reportdate”对应的值的时候,无论是get方式还是post方式传送的参数都可以读到,原因是它默认先使用request.querystring读取然后用request.form读取,也就是,做了两遍读取的操作,速度自然会慢一些,也不安全。


例子:




public string ReportDate
{
get { return Request.QueryString["reportDate"]; }
}


request对象有五个集合,下面予以介绍:


QueryString


:用以获取客户端附在url地址后的查询字符串中的信息。


例如:stra=Request.QueryString ["strUserld"]


Form


:用以获取客户端在FORM表单中所输入的信息。(表单的method属性值需要为POST)


例如:stra=Request.Form["strUserld"]


Cookies


:用以获取客户端的Cookie信息。


例如:stra=Request.Cookies["strUserld"]


ServerVariables


:用以获取客户端发出的HTTP请求信息中的头信息及服务器端环境变量信息。
例如:stra=Request.ServerVariables["REMOTE_ADDR"],返回客户端IP地址


ClientCertificate


:用以获取客户端的身份验证信息
例如:stra=Request.ClientCertificate["VALIDFORM"],对于要求安全验证的网站,返回有效起始日期。




有用  |  无用

猜你喜欢