`
atoooo
  • 浏览: 12710 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

http中Post与Get区别

    博客分类:
  • Html
阅读更多

在http协议中定义了与服务器互交的4种基本方法分别是Get,Post,Put,Delete。(详情:http://blog.csdn.net/clsdata/article/details/5519837 )在我们的Html页面的Form中有用到Post和Get两种提交数据的方法 :

1.Get:

当使用Get方法的时候浏览器会将Form表单中的Input元素都添加到Url地址的?后面,这个时候原本的Url地址后面的参数就会默认的被清除掉。例如:

<form id="form1" runat="server" action="DefaultTest.aspx?opt=xxx" method="get">
<div>
<input type="submit" id="btn1" value="button1" name="btn1"/>
<input type="text" name="txt1" value="text1"/>
<input type="text" name="txt2" value="text2"/>
</div>
</form>

提交表单的时候Url地址就会变成DefaultText.aspx?txt1=text1&txt2=text2

我们看到这个默认的opt=xxx会被删除,而是将form中的元素以name和value作为键值对追加到后面。

 

2.Post:

当时用Post方法的时候Url后面的参数不变;

<form id="form1" runat="server" action="DefaultTest.aspx?opt=xxx" method="post">
<div>
<input type="submit" id="btn1" value="button1" name="btn1"/>
<input type="text" name="txt1" value="text1"/>
<input type="text" name="txt2" value="text2"/>
</div>
</form>

提交表单的时候Url 是 DefaultTest.aspx?opt=xxx

只不过在Http的处理的时候会将Form中的元素放到Content中,而在用Get方法的时候Http是没有Content的.

关于这两个方法的却别在这个文章里面也有详细的介绍:

http://blog.csdn.net/darxin/article/details/4944225

 

总之记住一句话:用Get方法的时候就不能自己在url后面添加参数,因为这样添加是没有意义的.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics