Ajax中get與post請求詳解

來源:互聯網
上載者:User

學習ajax技術的時候,很多同學對於ajax中get與post請求總是疑問不解,為了給學員解決疑問,現將授課中對get與post的請求的總結髮表於學生大本營中,希望能給你帶來協助.
在ajax入門詳解中我也簡單的介紹了它們之間的使用區別,為了使學員能夠徹底的明白,現將如授課中的總結髮表如下。
一、get()和post()基本區別
1.get 是把參數資料隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個過程。
2.對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。兩種方式的參數都可以用Request來獲得。
3.get傳送的資料量較小,不能大於2KB。post傳送的資料量較大,一般被預設為不受限制。但理論上,因伺服器的不同而異。
4.get安全性非常低,post安全性較高。
5.<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">是不一樣的。

二、談Ajax的Get和Post的區別
1.Get方式
   用get方式可傳送簡單資料,但大小一般限制在1KB下,資料追加到url中發送(http的header傳送),也就是說,瀏覽器將各個表單欄位元素及其資料按照URL參數的格式附加在請求行中的資源路徑後面。另外最重要的一點是,它會被用戶端的瀏覽器緩衝起來,那麼,別人就可以從瀏覽器的記錄中,讀取到此客戶的資料,比如帳號和密碼等。因此,在某些情況下,get方法會帶來嚴重的安全性問題。
Ajax發送請求:如果是get請求send(參數)參數:必須是null或xhr.send();
    get請求就不必要設定 xhr.setRequestHeader(header,value)
備忘:如果xhr.send(參數);參數不為空白情況下,在某些瀏覽器中會自動轉換成post請求方式 您可以通過request.getMethod();方法擷取請求的方式
執行個體:
function getAjax(){

     //擷取xhr對象
     var xhr = getXhr();
     //規定請求類型    
     xhr.open("get","main.jsp?username=123",true);
     //發送請求
     xhr.send();
    //處理伺服器響應事件
     xhr.onreadystatechange = function (){
          //判讀是否處理完畢 與判讀伺服器是否處理成功!
          if(xhr.readyState==4 && xhr.status==200){
                    alert(xhr.responseText);
              }
          }
      }
}
使用get方式需要注意

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。