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

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

(0)

相关推荐

  • 从客户端检测到有潜在危险的Request.Form值的asp.net代码

    1.web.config文档<system.web>后面加入这一句: 复制代码 代码如下: <pages validaterequest="false"/> 示例: XML/HTML 复制代码 代码如下: <?xml version="1.0" encoding="gb2312" ?> <configuration> <system.web> <pages validaterequ

  • ASP读取Request.QueryString编码的函数代码

    1. 支持参数纯汉字 ?a=深山老熊 2. 支持参数gb2312 Urlencode编码: ?a=%C9%EE%C9%BD%C0%CF%D0%DC 3. 支持参数UTF-8 Urlencode编码: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit Const YXCMS_CH

  • asp.net中Request.QueryString与Request.Param的区别分析

    request.params其实是一个集合,它依次包括request.querystring.request.form.request.cookies和request.servervariables. 如果要在两个页面传递数据的话,只能用request.querystring.request.form.request.cookies Request.Params 是在 QueryString.Form.Server Variable 以及 Cookies 找数据, 他首先在 QueryStrin

  • 循环取值Request.QueryString的用法

    当页面上的FORM以GET方式向页面发送请[/url]求数据(如数据含有不安全字符,则浏览器先将其转换成16进制的字符再传送,如空格被转成%20)时,WEB   SERVER   将请求数据放入一名为QUERY_STRING的环境变量中,QueryString   方法是从这一环境变量中取出相应的值,并将被转成16进制的字符还原(如   %20   被还原成空格). 如表单上有一   name为username的文本框及一   name为password的文本框   ,   当表单提交时,会产生

  • 有潜在危险的 Request.Form 值避免方法

    个人感觉在 .net framework 4.0中 最好的解决" 有潜在危险的 Request.Form 值" 这个问题的方法是 在 system.web 中加上 <httpRuntime requestValidationMode="2.0"/> 这句话 因为4.0的验证在HTTP的BeginRequest前启用 复制代码 代码如下: <system.web> <httpRuntime requestValidationMode=&q

  • ASP.NET检测到不安全 Request.Form 值解决方案汇总

    当我们在网站中使用CKEditor等富文本编辑器时,大多都会遇到这样的到警告 这是因为ASP.NET默认开启对页面提交内容的验证(不仅是ASP.NET MVC,WebForms也默认启用对页面提交的内容进行验证),解决这个问题的关键就在于在有富文本编辑器的页面或者会有提交html代码的页面关闭验证,可大致分为以下三种情况: 基于Framework2.0 webForm的网站 这种情况相比之下算是最好解决的,直接在需要的页面顶部的 Page 指令中设置 ValidateRequest="false

  • ASP.NET中Request.Form中文乱码的解决方法

    背景 涉及到两个网站的通信,网站A有一页面a,用提交表单的方式,传值到网站B的页面b.网站A统一用UTF-8编码,网站B统一用GB2312编码. web.config中编码的设置 网站A:<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" /> 网站B:<globalization requestEncoding="gb2312" responseEnc

  • Request.QueryString与一般NameValueCollection的区别

    查看了QueryString的定义类型是NameValueCollection,就误以为这是NameValueCollection的重写了ToString()的方法,于是放心地将代码转移到了业务逻辑层.因为还要重构查询参数,因此重新构建了一个NameValueCollection,并想当然地用ToString()的结果作为Key.但实际运行之后发现,每次的结果都一样的,都是第一次的查询结果.经调试,发现NameValueCollection的ToString()方法并没有重新,还是返回的是"Sy

  • asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解

    从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值. 说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击.通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证.但是,在这种情况下,强烈建议应用程序显式检查所有输入. 异常详细信息: System.Web

  • asp.net下Request.QueryString取不到值的解决方法

    今天做新的ppc weather服务器的时候竟然碰到QueryString取不到值的问题 查了下网上,应该是编码的问题,tq121用的是utf-8,而我希望用gb2132输入~ 因此,改一下~哈哈 打开web.config把 <!-- <globalization              requestEncoding="utf-8"              responseEncoding="utf-8"     /> 改成 <glob

  • ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法

    当页面编辑或运行提交时,出现"从客户端中检测到有潜在危险的request.form值"问题,该怎么办呢?如下图所示: 下面博主汇总出现这种错误的几种解决方法: 问题原因:由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值.环境配置会报出"从客户端 中检测到有潜在危险的Request.Form值"这样的Error. 1.当前提交页面,添加代码 打开当前.aspx页面,页头加上代码:valid

  • asp下request.querystring("id")与request("id")区别

    Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables.Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了. 现在我们来分析下你得问题.  假设有个页面 test.asp?id=111  这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得集

随机推荐