Requests filteren met GET en POST

Het is perfect mogelijk om gegevens (HTML, JSON, XML, ...) te verwerken uit een volledig statisch document. Het wordt natuurlijk nog interessanter indien we de gegevens dynamisch vanuit een database kunnen genereren. Vanuit een statische pagina is de response altijd hetzelfde. Op een dynamische pagina is de response afhankelijk van een filter of parameter. Het filteren gebeurt meestal vanuit een formulier.

Neem bijvoorbeeld de zoekfunctie van Google. De response is afhankelijk van de zoekterm die u in het formulier invult.

Zoals u weet, kan u een formulier verzenden via GET of via POST.

Formulier verzenden met de GET-methode

GET plakt alle formuliervelden achter de URL. Alle zoekmachines gebruiken GET.

Zoek via Google op jquery tutorials en bekijk de URL.

http://www.google.be/search?...&q=jquery+tutorials&.....

De structuur van de URL met een GET-request is als volgt: action?naam1=waarde1&naam2=waarde2&naam3=waarde3

Action is de URL van de pagina die het formulier zal verwerken. Van elk formulierveld wordt zowel de naam van het veld als de waarde in het veld aan de URL toegevoegd. Alle velden zijn gescheiden door een &-teken.

Omdat GET de waarde of de inhoud van elk object zichtbaar maakt in de URL, kan u deze methode bijvoorbeeld niet gebruiken op een loginpagina. Het paswoord mag immers niet zichtbaar zijn in de URL. De lengte van de URL is ook beperkt tot enkele honderden karakters (browserafhankelijk).

Formulier verzenden met de POST-methode

De tweede methode, POST, geeft de gegevens via de header door. De gegevens zijn nu niet zichtbaar in de URL. Het aantal karakters dat kan worden doorgestuurd, is vrijwel onbeperkt.

Voor een AJAX request naar een statische pagina hebt u geen webserver nodig. Voor een AJAX request met GET- en POST-variabelen in combinatie met een database hebt u altijd een webserver nodig. Formuliergegevens kan u dan enkel verwerken via een server-side scripttaal zoals PHP of ASP.NET. Hierdoor bent u wel verplicht om via een webserver te werken.

GET-methode zonder formulier

Omdat de GET-methode alle parameters achter de URL plaatst, is het perfect mogelijk om de parameters dadelijk in een link te verwerken. Dit wordt vaak gebruikt in een master/detail relatie.

De masterpagina toont een beknopt overzicht van alle items. Elk item heeft een link naar de detailpagina en stuurt in de URL een unieke identificatiecode mee.

Neem als voorbeeld de startpagina van Campinia Media.

Elke link "Lees verder" verwijst naar dezelfde detailpagina: https://www.campiniamedia.be/mvc/boek_detail.jsp?id=xxxxx&source=c

De parameter id filtert de juiste gegevens uit de database en toont de gedetailleerde informatie over het gevraagde boek.

Last updated