request和request.form和request.querystring的区别
asp中获取传递的参数,一般用request或者用request成员函数request.form,两种方式都可以获取页面表单传递过来的参数值,一直没留意两种方法有什么区别,我一般喜欢用request("abc")这样的形式,简单明了嘛。
最近修改了一些kingcms的代码,其中有一段代码是用request.form("abc")这样的形式获取传递的参数,可我在地址栏输入传递 的参数无论如何也无法通过这段代码获取,仔细看了一下,才发现,是由于request和request.form的不同机制造成的。
首先request本身是一个系统的静态对象,本身也可以作为数组调用,比如request("abc")就是获取request数组中键 值"abc"对应的值,而这个数组又不是固定的,而是多个数组的集合,其中包含了 (QueryString ,Form ,Cookies ,ClientCertificate,ServerVariables )这几个服务器变量 数组的值,也就是说,通过request可以依次遍历这几个数组并返回对应的值,使用起来很是方便,一劳永逸。
而request.form这个request的成员函数就不是那么宽泛的取值了,仅仅是从form数组中取值,也就是页面表 单<form>标签的输入单元(比如<input type=text >传递过来的值。那么通过form就无法获取链接字符串 中以index.asp?abc=123这样的形式传递过来的参数了。
还有一种方法是request.QueryString("abc")这种形式,可以获取QueryString 链接字符串传递的参数了。
以http的几种传递数据机制来说,这三种方法可以这样区分。request.form可以获取以post方式提交的数据,requst.querystring可以获取以get方法提交的数据,而request则是可以同时获取两种方法传递的数据。
按照传递数据量来说,request.form可以传递不限大小的数据,而request.querystring只能传递2k的数据量。
按照速度来说,request.qeurystring 会略快于request.form
最方便最好用的嘛,哈哈,就是request本身来的直接了,不管怎么传递的数据都能获取,性能嘛,略有下降,不过对于现在的网络和计算机来说,可以忽略不计,所以我最喜欢用request("abc")这样的写法
总结;
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/Jayesslee/p/9355632.html
request和request.form和request.querystring的区别相关推荐
- Request、Request.Form和Request.QueryString的区别
Request.Request.Form和Request.QueryString的区别 Request.Form:获取以POST方式提交的数据(接收Form提交来的数据): Request.Query ...
- http协议的Request Payload 和 Form Data 的区别
Request Payload VS Form Data 前端请求 我看了前端发起的请求,请求正文并不是我熟悉的 Form Data,而是 Request Payload.如图注意下面两个请求的 Co ...
- python requests form data_Python爬虫:Request Payload和Form Data的简单区别说明
Request Payload 和 Form Data 请求头上的参数差别在于: Content-Type Form Data Post表单请求 代码示例 headers = { "Cont ...
- Request对象接收Form表单提交
转自:http://www.cnblogs.com/xdp-gacl/p/3798347.html Form表单: <title>HTML的form表单</title> < ...
- python中request获取数据,Python 中request数据的获取
@app.route('/users', methods=['GET', 'POST']) def users(): print "Hello, World!" print(req ...
- e.g., malformed request syntax, invalid request message framing, or deceptive request routing
报错 e.g., malformed request syntax, invalid request message framing, or deceptive request routing 以及f ...
- request的setAttribute()用法及request.sendRedirect 与 request.getRequestDispatcher.forward 的区别
request.setAttribute()怎么用的? JSP1代码 String [] test=new String[2]; test[0]="1"; test[1]=&quo ...
- ajax上传文件报错The current request is not a multipart request的解决办法
ajax上传文件报错The current request is not a multipart request的解决办法 主要报错语句为: The current request is not a ...
- 网站报错:Current request is not a multipart request
在进行文件上传下载操作时,报这个错误 主要信息就是:Current request is not a multipart request 我报这个错误的原因主要是因为:在前端使用form表单提交信息时 ...
- 【Python3爬虫(三)】【urlib.request模块】【cookie+Request】
上一篇:[Python3爬虫(二)][urlib.request模块][付费代理+auth认证] ++++++++++开始线++++++++++++++++++ 文章目录 一. cookie 1.1 ...
最新文章
- Python Qt GUI设计:QSlider滑动条类(基础篇—16)
- Fast ORB-SLAM
- silverlight学习之storyboard (动画)
- 数据结构和算法设计专题之---判断单链表中是否有环,环的长度,环的入口节点...
- flink下载以及兼容性问题
- 6月Unity技术路演华东站报名启动!
- Spring&Quartz集成自定义注释
- java适配器模式_适配器模式的设计,你get到了吗?
- 给侄子推荐的中学教辅资料清单
- 2.1.4 Python单例模式
- JavaScript学习(五十二)—继承、call方法和apply方法
- 单片机python编程入门_编程入门教程.doc
- 中文地址识别api的使用测试,快递地址自动补全,自动识别省市区,地址清洗,到底哪个好用?
- 如何下载哔哩哔哩的视频
- Android 集成 google 登录并获取 性别等隐私信息
- 工业镜头基础知识整理
- U.S. zip code
- vue-amap 实现定位+跑步路程+跑步时间计算功能
- 建筑工地通道管理系统(有效防止考勤作弊)
- 区别:二次型、标准形、规范形