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

所属分类: 网络编程 / JavaScript 阅读数: 1936
收藏 0 赞 0 分享

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"],对于要求安全验证的网站,返回有效起始日期。

更多精彩内容其他人还在看

BootStrap数据表格实例代码

本文通过实例代码给大家分享了BootStrap数据表格的相关知识,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

基于vue的短信验证码倒计时demo

这篇文章主要介绍了基于vue的短信验证码倒计时demo,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解React Native开源时间日期选择器组件(react-native-datetime)

本篇文章主要介绍了详解React Native开源时间日期选择器组件(react-native-datetime),具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

JS库particles.js创建超炫背景粒子插件(附源码下载)

particles.js用于创建粒子的轻量级 JavaScript 库。使用方法非常简单,代码也很容易实现,下面通过本文给大家分享JS库particles.js创建超炫背景粒子插件附源码下载,需要的朋友参考下吧
收藏 0 赞 0 分享

JS库之Waypoints的用法详解

waypoints的功能非常强大,一款用于捕获各种滚动事件的插件,下面跟随脚本之家小编一起学习JS库之Waypoints的用法吧
收藏 0 赞 0 分享

强大的JavaScript响应式图表Chartist.js的使用

本篇文章主要介绍了强大的JavaScript响应式图表Chartist.js的使用,具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

详解wow.js中各种特效对应的类名

本篇文章主要介绍了wow.js中各种特效对应的类名 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS库之Highlight.js的用法详解

highlight.js是一款轻量级的Web代码语法高亮库。下面通过实例代码给大家分享JS库之Highlight.js的用法详解,感兴趣的朋友跟随脚本之家小编一起学习吧
收藏 0 赞 0 分享

详解动画插件wow.js的使用方法

本篇文章主要介绍了动画插件wow.js的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS库 Highlightjs 添加代码行号的实现代码

Highlightjs是一款优秀的代码高亮Js组件,可以很方便地对各种语言编写的代码添加语法高亮样式。本文重点给大家介绍Highlightjs 添加代码行号的实现代码,需要的朋友参考下吧
收藏 0 赞 0 分享
查看更多