JavaScript - Ajax, metoda POST
| DZIAŁANIE: |
Kod:
Ewentualne Objaśnienia:
Tutaj mamy bardzo prosty przykład na przekazywanie danych metodą POST do
skryptu PHP. Aby przesłać dane tą metodą widzimy takie zmiany jak :
- w metodzie open deklarujemy POST oraz jako docelowy url
podajemy sam plik (adres) skryptu bez dodatkowych parametrów jak w metodzie GET
- pojawiło się coś takiego jak setRequestHeader - ta linia
generalnie informuje skrypt PHP, że dane przesyłamy poprzez metodę POST, dzięki
czemu dane są umieszczane w zmiennej $_REQUEST (czy też $_POST) języka PHP. Jak
widzicie zadeklarowane jest również kodowanie znaków
- metoda send już nie przyjmuje jako parametr wartości null, ale ciąg parametrów
przekazywanych do skryptu (podobnie jak w GET)
Zwróćcie również uwagę na zapis określania metody AJAX czyli linię :
request = typeof XMLHttpRequest == "undefined"?new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();
Jest to nic innego jak instrukcja if zapisana dużo prościej - pozostawiam to do Waszej własnej analizy.
Skrypt PHP, do którego przesyłamy dane jest banalny :

Są jednak w nim ważne rzeczy związane z kodowaniem. Nie raz możecie się
spotkać z problemem wyświetlania znaków, czy też problemem z przekazaniem
polskich liter przez ajax do skryptu PHP. Ja poradziłem sobie z tym problemem w
sposób jaki widzicie w kodzie powyżej. Dzięki nagłówkowi (header) zapewnione
jest to, że polskie znaki ze skryptu php będą poprawnie wyświetlane na naszej
stronie gdzie ajax zwróci rezultaty tego skryptu. Dzięki funkcji iconv mam
pewność, że przekazane z formularza do skryptu php (przez ajax) dane z polskimi
znakami zostaną poprawnie odczytane i wyświetlone.
Pokombinuj z tym samemu, usuń wspomniane funkcje ze skryptu i sprawdzaj co się
dzieje.