当前位置:首页 » 网站技术 » HTML & CSS

form action用post和get有什么区别

...

在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:

1、Get方法通过URL请求来传递用户的输入,Post方法通过另外的形式。

2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。

仔细研究下面的代码。你可以运行之来感受一下:

代码

<!--两个Form只有Method属性不同-->
<form action="getpost.asp" method="get">
<input type="text" name="Text" value="Hello World" />
<input type=“submit” value=“Method=Get” />
</form>
<br />
<form action="getpost.asp" method="post">
<input type="text" NAME="Text" value="Hello World" />
<input type="submit" value=“Method=Post" />
</form>
<br />
<br />
<% If Request.QueryString("Text") <> "" Then %>
通过get方法传递来的字符串是: “<b><%=Request.QueryString("Text")%></b>”
<% End If %>
<br />
<% If Request.Form("Text") <> "" Then %>
通过Post方法传递来的字符串是:“<b><%=Request.Form("Text")%></b>”
<% End If %>

说明

把上面的代码保存为getpost.asp,然后运行,首先测试post方法,这时候,浏览器的url并没有什么变化,返回的结果是:

通过Post方法传递来的字符串是: "Hello World"

然后测试用get方法提交,请注意,浏览器的url变成了:

http://localhost/general/form/getpost.asp?Text=Hello+World

而返回的结果是:

通过get方法传递来的字符串是:"Hello World"

最后再通过post方法提交,浏览器的url还是:

http://localhost/general/form/getpost.asp?Text=Hello+World

而返回的结果变成:

通过Post方法传递来的字符串是:"Hello World"

提示

通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果:

1、登陆页面可以被浏览器缓存;

2、其他人可以访问客户的这台机器。

那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。

建议

在Form中,建议使用post方法。

继续阅读
DHTML实现Web页面内容动态改变
使用DHTML制作网页
DHTML实现网页渐入特殊效果
用推送技术动态更新页面内容
DHTML中的“行为”组件
DHTML动态链接、鼠标击活链接
DHTML幻灯片播放程序
DHTML实现幻灯片秀
DHTML脚本技术应用ABC
发表评论

昵称:
最新评论
暂时没有评论!