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

玉泉網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,玉泉網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為玉泉上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的玉泉做網(wǎng)站的公司定做!
在把請(qǐng)求信息發(fā)送到服務(wù)器上以加載新的頁(yè)面時(shí),這兩個(gè)選擇有兩個(gè)不同之處。***個(gè)區(qū)別是你是請(qǐng)求了信息的一小部分而不是整個(gè)頁(yè)面。第二個(gè)區(qū)別也是最明顯的區(qū)別是由于Ajax請(qǐng)求不會(huì)出現(xiàn)在地址欄中,因此當(dāng)發(fā)送請(qǐng)求時(shí),在訪問(wèn)者的屏幕上是看不出什么異同的。使用GET生成調(diào)用不會(huì)暴露域和它們的值,使用POST也不會(huì)暴露。因此,我們要怎樣在這兩者之間作出選擇呢?
初學(xué)者可能犯的一個(gè)錯(cuò)誤是對(duì)于大多數(shù)的調(diào)用都使用GET命令,僅僅因?yàn)檫@一命令相對(duì)而言更容易編寫。GET與POST調(diào)用之間最顯著的差異是當(dāng)發(fā)出加載新頁(yè)面請(qǐng)求時(shí),GET調(diào)用對(duì)于同樣數(shù)量的數(shù)據(jù)有著相同的限制。唯一的區(qū)別是你處理的少量的Ajax請(qǐng)求數(shù)據(jù),而你并不想通過(guò)這種長(zhǎng)度運(yùn)行的限制來(lái)完成頁(yè)面的加載。初學(xué)者可能會(huì)在少數(shù)情況下,如他們確實(shí)需要傳送更多信息時(shí),使用POST。
當(dāng)我們有大量數(shù)據(jù)要傳送時(shí)***的辦法是一次發(fā)出多個(gè)只傳遞少量信息的Ajax調(diào)用時(shí)。如果你正用一個(gè)Ajax調(diào)用發(fā)送大量數(shù)據(jù),那么***是結(jié)束這種做法,因?yàn)檫@樣做并不能節(jié)約時(shí)間。
因此,需要傳送大量數(shù)據(jù)能成為我們?cè)贕ET和POST之間猶豫不決的理由嗎?這兩個(gè)方法都是為不同的目的而設(shè)計(jì)的,兩者的不同也在于其使用目的。這一說(shuō)法不僅適用于GET和POST的使用,也適用于其他的方法。
GET的目的就如同其名字一樣是用于獲取信息的。它旨在顯示出頁(yè)面上你要閱讀的信息。瀏覽器會(huì)緩沖GET請(qǐng)求的執(zhí)行結(jié)果,如果同樣的GET請(qǐng)求再次發(fā)出,瀏覽器就會(huì)顯示緩沖的結(jié)果而不是重新運(yùn)行整個(gè)請(qǐng)求。這***程不同于瀏覽器的處理過(guò)程,但是它是有意設(shè)計(jì)成這樣以使GET調(diào)用更有效率。GET調(diào)用會(huì)檢索要顯示在頁(yè)面中的數(shù)據(jù),數(shù)據(jù)不會(huì)在服務(wù)器上被更改,因此重新請(qǐng)求相同數(shù)據(jù)的時(shí)候會(huì)得到相同的結(jié)果。
POST方法應(yīng)該用于你需要更新服務(wù)器信息的地方。如某調(diào)用要更改保存在服務(wù)器上的數(shù)據(jù),而從兩個(gè)同樣的POST調(diào)用返回的結(jié)果或許會(huì)完全不同,因?yàn)榈诙€(gè)POST調(diào)用的值與***個(gè)的值不相同,這是由于***個(gè)調(diào)用已經(jīng)更新了其中一些值。POST調(diào)用通常會(huì)從服務(wù)器上獲取響應(yīng)而不是保持前一個(gè)響應(yīng)的緩沖。
因此,不要用數(shù)據(jù)的量來(lái)決定是要選擇GET還是POST,而應(yīng)該按照目的在兩者間作出選擇。如果調(diào)用是要檢索服務(wù)器上的數(shù)據(jù)則使用GET。如果要檢索的值會(huì)隨時(shí)間和更新進(jìn)程的改變而改變則要在GET調(diào)用中添加一個(gè)當(dāng)前時(shí)間參數(shù),這樣后面的調(diào)用才不會(huì)使用先前的不正確的緩沖。如果調(diào)用是向服務(wù)器上發(fā)送任意數(shù)據(jù),就可以使用POST。
事實(shí)上,我們不應(yīng)該不僅僅只將這個(gè)標(biāo)準(zhǔn)作為選擇怎樣使用GET和POST調(diào)用的標(biāo)準(zhǔn),在處理頁(yè)面處理形式的時(shí)候也可以將它作為取舍這兩個(gè)調(diào)用的標(biāo)準(zhǔn)。
本文名稱:Ajax,選擇GET還是POST?
本文地址:http://fisionsoft.com.cn/article/coecphi.html


咨詢
建站咨詢
