以后地位:首页 > 建站常识 > 列表

request.form和request.querystring的辨别

点击: 次时候:2018/12/1关头词:上海网站设想哪家强?
asp中取得通报的参数,普通用request或用request成员函数request.form,两种体例都能够取得页面表单通报过去的参数值,一向没寄望两种体例有甚么辨别,我普通喜好用request("abc")如许的情势,简略了然嘛。比来点窜了一些kingc

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就没法取得链接字符串 中以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体例不存在上述问 题,是以大批被利用在多个文本域提交数据和用户登岸的场所

预定建站
收费供给网站优化
支付关头词