自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ajax, 選擇GET還是POST?

開發(fā) 前端 后端
本文向您介紹開發(fā)Ajax程序是對信息傳輸方法GET和POST中的選擇,GET的目的就如同其名字一樣是用于獲取信息的;POST方法應(yīng)該用于你需要更新服務(wù)器信息的地方。

當(dāng)我們不通過重新加載頁面,用Ajax訪問服務(wù)器的時候,有兩個選擇可以將請求信息傳送到服務(wù)器上。這兩個選擇分別是GET和POST。

在把請求信息發(fā)送到服務(wù)器上以加載新的頁面時,這兩個選擇有兩個不同之處。***個區(qū)別是你是請求了信息的一小部分而不是整個頁面。第二個區(qū)別也是最明顯的區(qū)別是由于Ajax請求不會出現(xiàn)在地址欄中,因此當(dāng)發(fā)送請求時,在訪問者的屏幕上是看不出什么異同的。使用GET生成調(diào)用不會暴露域和它們的值,使用POST也不會暴露。因此,我們要怎樣在這兩者之間作出選擇呢?

初學(xué)者可能犯的一個錯誤是對于大多數(shù)的調(diào)用都使用GET命令,僅僅因?yàn)檫@一命令相對而言更容易編寫。GET與POST調(diào)用之間最顯著的差異是當(dāng)發(fā)出加載新頁面請求時,GET調(diào)用對于同樣數(shù)量的數(shù)據(jù)有著相同的限制。唯一的區(qū)別是你處理的少量的Ajax請求數(shù)據(jù),而你并不想通過這種長度運(yùn)行的限制來完成頁面的加載。初學(xué)者可能會在少數(shù)情況下,如他們確實(shí)需要傳送更多信息時,使用POST。

當(dāng)我們有大量數(shù)據(jù)要傳送時***的辦法是一次發(fā)出多個只傳遞少量信息的Ajax調(diào)用時。如果你正用一個Ajax調(diào)用發(fā)送大量數(shù)據(jù),那么***是結(jié)束這種做法,因?yàn)檫@樣做并不能節(jié)約時間。

因此,需要傳送大量數(shù)據(jù)能成為我們在GET和POST之間猶豫不決的理由嗎?這兩個方法都是為不同的目的而設(shè)計的,兩者的不同也在于其使用目的。這一說法不僅適用于GET和POST的使用,也適用于其他的方法。

GET的目的就如同其名字一樣是用于獲取信息的。它旨在顯示出頁面上你要閱讀的信息。瀏覽器會緩沖GET請求的執(zhí)行結(jié)果,如果同樣的GET請求再次發(fā)出,瀏覽器就會顯示緩沖的結(jié)果而不是重新運(yùn)行整個請求。這***程不同于瀏覽器的處理過程,但是它是有意設(shè)計成這樣以使GET調(diào)用更有效率。GET調(diào)用會檢索要顯示在頁面中的數(shù)據(jù),數(shù)據(jù)不會在服務(wù)器上被更改,因此重新請求相同數(shù)據(jù)的時候會得到相同的結(jié)果。

POST方法應(yīng)該用于你需要更新服務(wù)器信息的地方。如某調(diào)用要更改保存在服務(wù)器上的數(shù)據(jù),而從兩個同樣的POST調(diào)用返回的結(jié)果或許會完全不同,因?yàn)榈诙€POST調(diào)用的值與***個的值不相同,這是由于***個調(diào)用已經(jīng)更新了其中一些值。POST調(diào)用通常會從服務(wù)器上獲取響應(yīng)而不是保持前一個響應(yīng)的緩沖。

因此,不要用數(shù)據(jù)的量來決定是要選擇GET還是POST,而應(yīng)該按照目的在兩者間作出選擇。如果調(diào)用是要檢索服務(wù)器上的數(shù)據(jù)則使用GET。如果要檢索的值會隨時間和更新進(jìn)程的改變而改變則要在GET調(diào)用中添加一個當(dāng)前時間參數(shù),這樣后面的調(diào)用才不會使用先前的不正確的緩沖。如果調(diào)用是向服務(wù)器上發(fā)送任意數(shù)據(jù),就可以使用POST。

事實(shí)上,我們不應(yīng)該不僅僅只將這個標(biāo)準(zhǔn)作為選擇怎樣使用GET和POST調(diào)用的標(biāo)準(zhǔn),在處理頁面處理形式的時候也可以將它作為取舍這兩個調(diào)用的標(biāo)準(zhǔn)。

【編輯推薦】

  1. Ajax模式之緩存控制器模式
  2. AJAX推送與拉取方式的比較
  3. 流行的AJAX框架對比:jQuery,Mootools,Dojo,Ext JS
  4. 詳談基于JSON的高級AJAX開發(fā)技術(shù)
  5. 7個免費(fèi)強(qiáng)大的Ajax文件管理器
責(zé)任編輯:佚名 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-06-08 11:02:14

GetPost

2015-01-05 10:07:24

HTTPGETPOST

2023-08-07 09:25:06

GETPOSTHTTP請求

2013-01-15 10:50:42

2013-01-05 13:21:44

ASP.NETHttpHandlerHttpModule

2014-07-24 10:00:21

2009-09-10 17:37:01

C# get post

2013-07-04 14:54:24

Android

2013-05-30 13:30:00

代碼效率程序員

2009-09-10 16:41:13

C# get post

2015-10-27 11:06:51

PHPGETPOST

2015-08-06 13:33:22

PHPGETPOST

2022-08-03 07:04:56

GETHTTPPOST

2009-07-29 16:53:52

ASP.NET Get

2023-11-09 09:13:48

GraphQLAPI 架構(gòu)

2012-05-14 10:18:54

jQuery

2015-08-19 10:13:53

DaasVDI

2011-08-02 13:35:41

iOS開發(fā) Get Post

2019-02-14 19:00:13

2009-07-02 15:36:18

JSP參數(shù)傳遞get post方法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號