Milloin GET- ja POST-sovelluksia käytetään Ajaxissa

Kun käytät ajax (Asynkroninen JavaScript ja XML) palvelimelle pääsemiseksi lataamatta web-sivua uudelleen, sinulla on kaksi vaihtoehtoa siirtää pyynnön tiedot palvelimelle: GET tai POST.

Nämä ovat samat kaksi vaihtoehtoa, jotka sinulla on, kun siirrät palvelimelle pyyntöjä uuden sivun lataamiseksi, mutta kahdella erolla. Ensimmäinen on, että pyydät vain pientä tietoa kokonaisen verkkosivun sijasta. Toinen ja huomattavin ero on, että koska Ajax-pyyntö ei näy osoitepalkissa, vierailijat eivät huomaa eroa pyynnön esittäessä.

GET: llä soitetut puhelut eivät paljasta kenttiä ja niiden arvoja missään tilanteessa, jota POST-käyttö ei myöskään paljasta, kun puhelu tehdään Ajaxista.

Mitä sinun ei pitäisi tehdä

Joten miten meidän pitäisi tehdä valinta siitä, kumpaa näistä kahdesta vaihtoehdosta tulisi käyttää?

Virhe, jonka jotkut aloittelijat saattavat tehdä, on käyttää GET-sovellusta suurimpaan osaan puhelujaan yksinkertaisesti siksi, että näiden kahden koodaaminen on helpompaa. Huomattavin ero Ajatin GET- ja POST-puhelujen välillä on se, että GET-puheluilla on edelleen sama rajoitus tiedonsiirtomäärälle kuin uuden sivun lataamista pyydettäessä.

instagram viewer

Ainoa ero on, että koska käsittelet vain pienen määrän tietoja Ajax-pyynnöllä (tai ainakin näin sinä olet pitäisi käyttää sitä), olet paljon vähemmän todennäköisesti törmännyt tähän pituusrajoitukseen Ajaxista, kuten lataamalla täydellistä verkkoa sivu. Aloittelija voi varata POST-pyyntöjä käyttämällä harvoille tapauksille, joissa heidän on välitettävä lisätietoja, jotka GET-menetelmä sallii.

Paras ratkaisu, kun sinulla on paljon siirrettävää dataa kuten se, on soittaa useita Ajax-puheluita siirtämällä muutamia tietoja kerrallaan. Jos aiot välittää valtavia määriä dataa kaikki yhdessä Ajax-puhelussa, sinun kannattaa todennäköisemmin yksinkertaisesti ladata uudelleen koko sivun, koska prosessointiajassa ei ole merkittävää eroa, kun valtavia tietomääriä on mukana.

Joten jos siirrettävän tiedon määrä ei ole hyvä syy valita GET- ja POST-vaihtoehdoista, niin mitä meidän pitäisi käyttää päätöksen tekemiseen?

Nämä kaksi menetelmää on itse asiassa perustettu täysin erilaisiin tarkoituksiin, ja niiden työskentelytapojen väliset erot johtuvat osittain eroista siinä, mihin niitä on tarkoitus käyttää. Tämä ei koske vain Ajaxin GET- ja POST-sovellusten käyttöä, mutta todellakin näitä menetelmiä voidaan käyttää.

GET: n ja postin tarkoitus

GET-nimitystä käytetään nimensä mukaan: - saada tiedot. se on tarkoitettu käytettäväksi, kun luet tietoja. Selaimet tallentavat välimuistiin GET-pyynnön tuloksen, ja jos sama GET-pyyntö tehdään uudelleen, ne näyttävät välimuistissa olevan tuloksen sen sijaan, että suorittaisivat koko pyynnön uudelleen.

Tämä ei ole virhe selaimen käsittelyssä; se on tarkoituksella suunniteltu toimimaan tällä tavalla GET-puhelujen tehostamiseksi. GET-puhelu vain hakee tietoja; sen ei ole tarkoitus muuttaa mitään palvelimen tietoja, minkä vuoksi tietojen uudelleenpyynnön pitäisi palauttaa samat tulokset.

POST-menetelmä on tarkoitettu komennus tai palvelimen tietojen päivittäminen. Tämän tyyppisen puhelun odotetaan muuttavan tietoja, minkä vuoksi kahdelta samanlaiselta POST-puhelulta saadut tulokset voivat hyvinkin olla täysin erilaisia ​​toisistaan. Alkuarvot ennen toista POST-puhelua eroavat arvoista ennen ensimmäistä, koska alkuperäinen puhelu on päivittänyt ainakin osan näistä arvoista. Siksi POST-puhelu saa aina vastauksen palvelimelta sen sijaan, että säilyttäisi välimuistiversion aiemmasta vastauksesta.

Kuinka valita GET tai POST

Sen sijaan, että valitsisit GET ja POST Ajax-puhelun aikana siirrettävän tiedon määrän perusteella, sinun tulisi valita sen perusteella, mitä Ajax-puhelu todella tekee.

Jos puhelun tarkoituksena on hakea tietoja palvelimelta, käytä sitten GET. Jos noudettavan arvon odotetaan vaihtelevan ajan myötä muiden sitä päivittävien prosessien seurauksena, lisää nykyinen aikaparametri kohtaan mitä siirrät GET-puhelun aikana, jotta myöhemmät puhelut eivät käytä aikaisemmin välimuistiin tallennettua tulosta, joka ei enää ole oikea.

Käytä POST-sovellusta, jos puhelusi aikoo kirjoittaa mitään tietoja palvelimelle.

Itse asiassa sinun ei pitäisi käyttää tätä kriteeriä vain valitsemalla Ajast-puheluissa GET- ja POST-väliltä, ​​mutta myös valittaessa sitä, mitä tulisi käyttää verkkosivustolomakkeiden käsittelyyn.