日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Get 与 Post 【总结】 (实例:从a.html到b.aspx传值)

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Get 与 Post 【总结】 (实例:从a.html到b.aspx传值) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 在Form里面,可以使用post也可以使用get。它們都是method的合法取值。但是,post和get方法在使用上至少有兩點不同:
1、Get方法通過URL請求來傳遞用戶的輸入。Post方法通過另外的形式。
2、Get方式的提交你需要用Request.QueryString來取得變量的值,而Post方式提交時,你必須通過Request.Form來訪問提交的內容。


提示
通過get方法提交數據,可能會帶來安全性的問題。比如一個登陸頁面。當通過get方法提交數據時,用戶名和密碼將出現在URL上。如果:
1、 登陸頁面可以被瀏覽器緩存;
2、 其他人可以訪問客戶的這臺機器。
那么,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。
建議 :在Form中,建議使用post方法。
二、<form action="" method="post">刷新時會彈出提示框,問是否重新發送請求,若改為method=get則不會有該提示,以下是post和get的一些區別

post請求無長度限制(至少是理論上的)
get有長度限制,最長不超過2048字節(1024個漢字)

三、還記得Request.QueryString()嗎,只要是用get傳遞值,那么都會跟在http請求的串后面!可以試試!而post則不會在http請求串的后面,而是在請求的最后面!而且看不見的,一般密碼可一定得這樣傳了,否則在地址欄里可以直接看見!!(雖然都不加密)
還有就是post傳的內容多一些
再就是一般的用IIS過濾器的只接受get參數,這就是為什么那些大型搜索引擎后面都是一大堆的內容了,因為post不能發過去,只能用get。看看Goole或是yahoo等知道了!

四、表單提交中get和post方式的區別歸納如下幾點:
1. get是從服務器上獲取數據,post是向服務器傳送數據。
2.?? get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5.?? get安全性非常低,post安全性較高。

?

POST方法注意事項:

從a.html 通過form action=abc.aspx 傳值到abc.aspx, 從html傳值到aspx的方法:

1.用jquery post 數據:

$.post($("#txtAddress").val(),
????{
????a:
'c',
????c:$(
"#txtContent").val()
????},
function?(data){
$(
"#txtResult").append('<div?id="d'+id+'"?style="height:'+$("#txtResult").height()+'px;"><div?style="display:none"?id="p'+id+'">'+$("#content",data).html()+'</div></div>');

?

2.Request.Form["元素的name不是ID"]

a.HTML???

<FORM?ACTION="Test_Post_To_ASPX.aspx"?METHOD="post">?
<INPUT?TYPE="text"?NAME="Text"?VALUE="TTTTTTTTTTTTTTTTT"/>?
<input?type="submit"?name="Submit"?value="提交">?

</FORM>?

?

abc.aspx

?protected?void?Page_Load(object?sender,?EventArgs?e)
????{
????????
string?a?=?Request.Form["Text"];
????????Response.Write(a);
????}

?

################################################################

具體步驟
Post和Get都是表單屬性Method的可選值,Method的默認值為Get,兩者的主要區別在于:
1.在客戶端,Get方式在通過URL提交數據,提交后在地址欄中的地址如圖1.4.3所示。

圖1.4.3?Get方式提交表單后的地址欄

而Post提交后地欄不變,如圖1.4.4所示。

圖1.4.4?Post方式提交表單后的地址欄不變

2.在服務器端只能用Request.QueryString來獲取Get方式提交來的數據,用Post方式提交的數據只能用Request.Form來獲取:

Code

<%@language="VBScript"?Codepage="936"%>?
<html>?
<head>?
<title>?表單提交方式測試</title>?
<meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312">?
</head>?
<body>?
<form?method="post"?action="<%=Request.ServerVariables("Script_Name")%>">?
??提交數據:?
??
<input?name="oStr"?type="text">?
????
<br>?
????提交方式:?
????
<select?name="select"?onchange="this.form.method=this.value">?
??????
<option?value="Post"?selected>Post</option>?
??????
<option?value="Get">Get</option>?
????
</select>?
????
<br>?
??
<input?type="submit"?name="Submit"?value="提交">?
</form>?
<%?
?
if?Request("Submit")<>""?then?
????????Response.Write?
"通過"&Request.ServerVariables("Request_Method")&"方式提交的數據為:"?
????
if?Request.ServerVariables("Request_Method")="GET"?then?
??????????Response.Write?Request.QueryString(
"oStr")?
????
else?
??????????Response.Write?Request.Form(
"oStr")?
????end?
if?
end?
if?
%>?
</body>?
</html>?

注意:雖然兩種提交方式可以統一用Request("oStr")來獲取提交數據,但是這樣對程序效率有影響,不推薦使用。
特別提示
通過IIS運行本例代碼(用http://localhost/method.asp這種方式來瀏覽,有關IIS的安裝和配置,請參考第四部分),輸入所提交的數據,選擇Post方式提交,將看到圖1.4.4所示的效果。選擇Get方式提交,效果將如圖1.4.3所示。

特別說明


一般來說,盡量避免使用Get方式提交表單,因為有可能會導致安全問題。比如說在登陸表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。但是在分頁程序中,用Get方式就比用Post好。本例中用到的表單的屬性解釋(ASP部分請參考第四部分):
????Get把參數添加到action屬性指定的地址中,并以錨方式打開。
????Post通過HTTP?post處理發送數據。

轉載于:https://www.cnblogs.com/kingjiong/archive/2008/09/28/1301601.html

總結

以上是生活随笔為你收集整理的Get 与 Post 【总结】 (实例:从a.html到b.aspx传值)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。