request.form()和request()的区别?

两者各有什么异同?有什么优点和缺点

区别如下:

1、用法不同

Request.Form:获取以POST方式提交的数据(接收Form提交来的数据)

Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。

2、接收的方法不同

Request.form方法,它是用来接收表单变量的(post 方法)

Request对象也可以不指明具体使用QueryString或是form方法,如果包含以上两种方式(优先获取GET方式提交的数据),它会在 QueryString、Form、ServerVariable中都搜寻一遍。

3、传递数据量不同

Request.form方法能接收的数据没有限制。

Reques的对象为trequest.QueryString时只能接收数据量小于2KB数据。

4、执行速度不同

Request.form方法的执行速度取决于接收数据量的大小,如果数据较多执行速度比较慢。

Reques执行速度要比Request.form方法快。一般往数据库请求查询时用 request.QueryString方法来提高查询的速度。

参考资料来源:百度百科——Request对象

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-24

区别:

1、Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);Request.QueryString:获取地址栏参数(以GET方式提交的数据)

Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。而且有时候也会得到不同的结果。

如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在QueryString、ServerVariable中也搜寻一遍。如果正好你的QueryString或者ServerVariable里面也有同名的项,你得到的就不是你原本想要的值了。

2、两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而 request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。

一般往数据库请求查询时用 request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。

3、request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差;request.form方法不存在上述问 题,因此大量被应用在多个文本域提交数据和用户登陆的场合。

参考资料:百度百科——Request对象

本回答被网友采纳
第2个回答  推荐于2017-11-25
说白了,request()是种简写,它可以获取POST方式提交的数据,也能获取GET方式提交的数据,功能上比request.query()强大。request.query()只能用来获取通过GET方式提交的数据。本回答被网友采纳
第3个回答  2013-09-18
楼上说的都对,可以这样理解(我个人的理解方式),简单区别,灵活运用的话。在页面间传值,即值由一个页面传到另一个页面,在另一个页面可以用request()来接收值。在页内传值,即表单值提交给自身页面,在自身页面脚本里面可以用request.form() 来接收值
第4个回答  2017-08-02
request.form("Action")取得是表单里叫Action表单的值
request("Action")取得是变量Action的值
望采纳。
相似回答