R?e?q?u?e?s?t?、?R?e?q?u?e?s?t?.?F?o?r?m?和?R?e?q?u?e?s?t?.?Q?u?e?r?y?S?t?r?i?n?g?的?区?别

Request

Request.Form

Request.QueryString

的区别

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")

这样的写法。

Request.Form

:获取以

POST

方式提交的数据(接收

Form

提交来的数据);

Request.QueryString

:获取地址栏参数

(

GET

方式提交的数据

)

Request

:包含以上两种方式

(

优先获取

GET

方式提交的数据

)

,它会在

Query

String

Form

ServerVariable

中都搜寻一遍。

而且有时候也会得到不同的结果。

如果你仅仅是需要

Form

中的一个数据,

但是你使用了

Request

而不是

Request.Form

,那么程序将在

QueryString

ServerVariable

中也搜寻一遍。

如果正好你的

QueryString

或者

ServerVari

able

里面也有同名的项,你得到的就不是你原本想要的值了。

使用

Request

ASP

是以如下顺序进行搜索

:

1.QueryString

2.Form

3.Cookies

4.ClientCertificate

5.ServerVariables

如果在

QueryString

里也存在一个同

Form

里相同的变量名,

则不会返回

Form

里的值,而是

QueryString

的。

Request.form:

获取前台

form

表单以

POST

方式提交的数据

Request.QueryString :

获取地址栏参数

(

GET

方式提交的数据

)

Request:

包含以上两种方式

(

优先获取

GET

方式提交的数据

)

两者除了接收方法不同外,还有传递数据量大小的问题

:

Request.form

方法能接收的数据没有限制,

Request.QueryString

只能接

收数据量小于

2KB

数据,当然后者的执行速度要比前者快。

一般向数据库请求查询时用

request.QueryString

方法,

因为查询时只不过那

么几个关键词,没有必要用

request.form

方法而导致查询速度变慢。

另外,

request.QueryString

方法还会把数据信息显示在客户端浏览器地址栏

中,安全性较差。

request.form

方法不存在上述问题,

因此大量被应用在多个文本域提交数据和

用户登陆的场合。

request

对象也可以不指明具体使用

QueryString

或是

form

方法,如

request("

变量

")

,因为它能自动识别,

不过还是指明为好,

否则,

要它自己判断也得花些微小的访问时间,

影响程序执

行效率。

R?e?q?u?e?s?t?、?R?e?q?u?e?s?t?.?F?o?r?m?和?R?e?q?u?e?s?t?.?Q?u?e?r?y?S?t?r?i?n?g?的?区?别

时间: 2025-01-01 09:43:47

R?e?q?u?e?s?t?、?R?e?q?u?e?s?t?.?F?o?r?m?和?R?e?q?u?e?s?t?.?Q?u?e?r?y?S?t?r?i?n?g?的?区?别的相关文章

已知银行定期存款利率为r=2.25%,输入存款本金x、存款年数n,输出本利之和y=x(1+r)(1+r)...(1+r),共n个(1+r)。

/* 已知银行定期存款利率为r=2.25%,输入存款本金x.存款年数n,输出本利之和y=x(1+r)(1+r)...(1+r),共n个(1+r). */ #include <stdio.h> #include <string.h> #include<math.h> int main() { double r; r=0.0225; int x,n; double y=1.0; scanf("%d%d",&x,&n); y=x; whil

[数据](全!!)全拼-简体字对照表

○    líng2一    yī1丁    dīng1,zhēng1丂    kǎo3,qiǎo3,yú2七    qī1丄    shàng4丅    xià4万    mò4,mǒ3,wàn4丈    zhàng4三    sān1上    shàng4,shǎng3下    xià4丌    jī1,qí2不    bù4,fǒu3与    yú2,yù4,yǔ3丏    miǎn3丐    gài4丑    chǒu3丒    chǒu3专    zhuān1且    jū1,qiě3

Django项目:CRM(客户关系管理系统)--45--36PerfectCRM实现CRM用户登陆注销02

图片另存为  16*16  名字修改为      global_logo.jpg 1 /*! 2 3 *bootstrap.js 4 * 5 * Bootstrap v3.3.7 (http://getbootstrap.com) 6 * Copyright 2011-2016 Twitter, Inc. 7 * Licensed under the MIT license 8 */ 9 10 if (typeof jQuery === 'undefined') { 11 throw new E

lyc的进程表

"少壮不努力,AK IOI."--RLD 2018/8/10 Prime Distance On Tree 和聪聪可可一样是点分治的计数题 但是合并信息是$ O( n ^ 2 ) $的,会炸,FFT可以加速. #include<bits/stdc++.h> using namespace std; #define gc c=getchar() #define r(x) read(x) #define ll long long #define db double #defin

Tp5自动验证

<?php class DB { private $address = 'mysql.21future.com'; private $username = 'manbang'; private $password = 'M8356b8356'; private $db = 'manbang'; private $table = 'fa_car'; private $con; public function __construct() { $con = mysqli_connect($this->

简单实现人工智能:百度aip+tuling123

目录结构: app.py # -*- coding: utf-8 -*- # __author: ward # data: 2018/12/21 # @File: app from flask import Flask, request, render_template, send_file, jsonify from uuid import uuid4 from baidu_ai import audio2text, text2audio, my_nlp app = Flask(__name_

bzoj 2502: 清理雪道 最小流

2502: 清理雪道 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 868  Solved: 466[Submit][Status][Discuss] Description 滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时清理雪道.你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部.从降落的地点出

3532: [Sdoi2014]Lis 最小字典序最小割

3532: [Sdoi2014]Lis Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 865  Solved: 311[Submit][Status][Discuss] Description 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci.请删除若干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案.如果有多种方案,请输出将删去项的附加属性排序之后,字典序最小的一种. 这题难点在如何求一组最小字典序最小的最小

可持久化 trie 的简单入门

可持久化 $trie$  ....又是一个表里不一的东西..... 可持久化 $trie$  的介绍: 和主席树类似的,其实可持久化就是体现在前缀信息的维护上(搞不懂这怎么就叫做可持久化了...) $trie$ (字典树)大家应该都知道,就是一棵用来做字符串匹配的树, 但是!在这里,可持久化 $trie$ 就是完全不一样的东西了... 基本上(我做过的题),可持久化都是用来维护  $XOR$   信息的... 比如说求某个范围内的最大区间异或和之类的,至于到了树上嘛,你懂的. 可持久化 $tri