# 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](http://www.campiniamedia.be).

![](/files/-L9sHFC_-ix6YyNl8zwG)

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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://1itf.gitbook.io/jquery/9-inleiding-tot-ajax/requests-filteren-met-get-en-post.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
