學習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.跟是一樣的,也就是說,method為get時action頁面後邊帶的引數列表會被忽視;而跟是不一樣的。
二、談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();方法獲取請求的方式
例項:functiongetajax()}}
}使用get方式需要注意
(1)對於get請求(或凡涉及到url傳遞引數的),被傳遞的引數都要先經(預編碼處理)encodeuricomponent方法處理.例:var url = "update.php?username=" +encodeuricomponent(username) + "&content=" +encodeuricomponent(content)+"&id=1" ;
2.post方式:
當使用post方式時,瀏覽器把各表單字段元素及其資料作為http訊息
的實體內容傳送給web伺服器,而不是作為url位址的引數進行傳遞,使用post方式傳遞的資料量要比使用get方式傳送的資料量大的多
傳送請求:
如果是post請求send(引數)引數:引數可以是null或者
xhr.send()|send(
帶有引數的)post請求在傳遞值的情況下必須
設定 xhr.setrequestheader(header,value)
例項:function
post
ajax()} }
使用post方式需注意:
(1).
urlencode
確保伺服器知道實體中有引數變數.通常使用xmlhttprequest物件的
。例:(2).
引數是名/值一一對應的鍵值對,每對值用&號隔開.如var name=abc&***=man
&age=18
注意var name=update.php?abc&***=man&age=18以及var name=?abc&***=man
&age=18
的寫法都是錯誤的
;(3).引數在send(引數)方法中傳送,例:xhr.send(name); 如果是get
方式,直接xmlhttp.send(null);
(4).伺服器端請求引數區分get與post。如果是get方式則$username =
$_get["username"]; 如果是post方式,則$username =
$_post["username"];
總之,get方式傳送資料量小,處理效率高,安全性低,會被快取,而post反之。
原創 Ajax中get與post請求詳解
學習ajax技術的時候,很多同學對於ajax中get與post請求總是疑問不解,為了給學員解決疑問,現將授課中對get與post的請求的總結發表於學生大本營中,希望能給你帶來幫助.一 get 和post 基本區別 1.get 是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各...
原創 Ajax中get與post請求詳解
學習ajax技術的時候,很多同學對於ajax中get與post請求總是疑問不解,為了給學員解決疑問,現將授課中對get與post的請求的總結發表於學生大本營中,希望能給你帶來幫助.在ajax入門詳解中我也簡單的介紹了它們之間的使用區別,為了使學員能夠徹底的明白,現將如授課中的總結發表如下。一 get...
Ajax請求引數,get與post
使用ajax向伺服器傳送請求引數就可以向伺服器 索取 不同的資訊了,同一般的 提交一樣,用ajax提交請求同樣有get與post之分。使用get方法想伺服器床底引數的方法比較直接,就是將構建好的請求字串新增到url後面。例如下面的示意 var name document.getelementbyid...