您的位置:首页 > 其它

关于Form中的post方法和get方法

2007-08-12 08:24 309 查看
今天在学习ASP.NE时,程序在运行时老是发生错误

System.NullReferenceException: 未将对象引用设置到对象的实例。

指向:String strUserName = this.Request.Form.Get("txtUserName").ToString();

后来经过我的努力解决的问题,原因是我对表单的post和get提交方法的理解错误。我们都知道在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的。Form提供了两种数据传输的方式——get和post。但这两种方法是有区别的。

1、对于get提交的数据,WWW服务器将把数据放在环境变量QUERY_STRING
中,对于POST方法,数据被送到WWW服务器的STDOUT中,然后CGI从自己的STDIN
中读取。这就是我的程序出错的原因,Form表单的默认数据传输是get,而在我的程序中刚好把顺序搞错了。

2、get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。

3、get和post传输的数据长度不一样。

4、get不安全,并且get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: