ajax中get和post的區別

Gckkoo發表於2017-11-30

ajax中我們經常用到get和post請求,那麼什麼時候用get請求,什麼時候用post請求呢?

get是把引數資料佇列加到提交表格的action屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過http post機制,將表單內各個欄位與其內容放置在HTML header內一起傳送到action屬性所致的URL地址,使用者看不到這個過程

對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的資料。兩種方式的引數都可以用Request來獲得。

get傳送的資料量較小,不能大於2kb。post傳送的資料量較大,一般預設為不收限制。但理論上,因伺服器的不同而異。
get安全箱非常低。post安全性較高

<form method="get" action="a.asp?b=b">

<form method="get" action="a.asp>
是一樣的,也就是說,method為get時action頁面後面帶的引數會被忽視;而
<form method="post" action="a.asp?b=b">

<form method="post" action="a.asp">
是不一樣的

另外get請求有如下特性:他會將資料新增到URL中,通過這種方式傳遞到伺服器,通常利用一個問號? 代表URL地址的結尾和資料引數的開端,後面的引數每一個資料引數一“名稱=值”的形式出現,引數與引數之間利用一個連線符&來區別。
post請求有如下特性:資料是放在http主體中的,其組織方式不止一種,有&連結方式,也有分隔符方式,可隱藏引數,傳遞大批資料,比較方便。

通過以上的說明,現在我們大致瞭解了什麼時候用get什麼時候用post方式,當我們在提交表單的時候,我們通常時候post方式,當我們要傳遞一個較大的資料檔案時,需要用到post。當傳遞的值只需用引數方式(這個值不大於2kb)的時候,用get方式即可。

相關文章