当前位置: 首页 > news >正文

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方法不存在上述问 题,因此大量被应用在多个文本域提交数据和用户登陆的场合

 

转载于:https://www.cnblogs.com/ChrisMurphy/p/4996822.html

相关文章:

  • 【小窍门】浏览器兼容圆角Border-radius的问题
  • intellij (org.jdom.input.JDOMParseException) Error on line 1: 前言中不允许有内容。
  • 需求工程-软件需求模式读书笔记3
  • TCPdump抓包命令详解--摘
  • JavaScript中事件处理
  • 指令汇B新闻客户端开发(六) 浅谈屏幕适配解决方案
  • 重磅推荐:Android_JNI整套视频分享
  • ReactiveCocoa概念解释进阶篇
  • Application.EnableVisualStyles();
  • 【转】.Net高级技术——IDisposable
  • [转]通过脚本添加登陆/注销/开机/关机脚本
  • 学习 AngularJS (三) module
  • Json序列化之.NET开源类库Newtonsoft.Json
  • C/C++ 库函数 是否调用 WinAPI
  • 构造汽车
  • 分享的文章《人生如棋》
  • canvas 五子棋游戏
  • chrome扩展demo1-小时钟
  • github指令
  • JavaScript DOM 10 - 滚动
  • JavaScript设计模式系列一:工厂模式
  • Node + FFmpeg 实现Canvas动画导出视频
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Redis 中的布隆过滤器
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 数据可视化之 Sankey 桑基图的实现
  • 异步
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (14)Hive调优——合并小文件
  • (笔试题)分解质因式
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (一)80c52学习之旅-起始篇
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)负载均衡,回话保持,cookie
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET delegate 委托 、 Event 事件
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .Net Remoting常用部署结构
  • .NET 的程序集加载上下文
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • [ Linux ] Linux信号概述 信号的产生
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [Apio2012]dispatching 左偏树
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [CLR via C#]11. 事件
  • [JavaEE系列] Thread类的基本用法