AJAX a jQuery. Odovzdávanie parametrov z PHP do JavaScriptu. Použitie JSON
(zmeny od 10.12.2012)
Tí, ktorí programujú aplikácie AJAX, často stoja pred výzvou prenosu parametrov z PHP alebo iného programovacieho jazyka do JavaScriptu. Spravidla sa tým budú prenášať údaje z databázy, ku ktorej má prístup iba skript servera. Ako ich môžem zobraziť na klientskom počítači bez opätovného načítania stránky? Práve o tom je tento článok.
Povedzme si pár slov o JSON (JavaScript Object Notation). Toto je textový protokol na výmenu údajov, trochu podobný známejšiemu XML, ale údaje sú doň zapísané kompaktnejšie. Pôvodne bol vyvinutý pre potreby JavaScriptu (odtiaľ pochádza aj jeho názov), ale v súčasnosti sa používa viac.
Napríklad, ak chceme napísať pole z PHP do JSON, potom to bude to, čo z toho vzíde.
Zdrojové pole:
$ n = pole ("Min" => 15, "Sek" => 44);
Rovnaké pole vo formáte JSON:
(„Min“: „15“, „Sec“: „44“)
Podrobný zápis formátu JSON a jeho aplikácií pre rôzne programovacie jazyky je uvedený na stránke http://www.json.org/
Pozrime sa na jednoduchý príklad, ktorý bude pozostávať z dvoch súborov.
Prvým súborom bude skript PHP, ktorý vygeneruje záznam JSON obsahujúci aktuálne minúty a sekundy.
Druhým súborom bude stránka HTML obsahujúca JavaScript pomocou knižnice jQuery, ktorá každú 1 sekundu zavolá skript PHP, prijme záznam JSON a jeho obsah odošle do kontajnera webovej stránky.
Spisové číslo 1. json.php
header("Content-Type: application/x-javascript; charset=utf8"); $n = array("Min" =>dátum („i“), „Sec“ => dátum („s“)); echo json_encode ($ n); ?>Na prvom riadku súboru vo funkcii hlavička () nastavíme výstupný formát záznamu JSON, označíme, že dokument je JavaScript "v kódovaní UTF-8.
V druhom riadku vytvoríme asociatívne pole s poľami Min a Sek, do ktorého napíšeme aktuálne hodnoty minút a sekúnd.
V treťom riadku vytvoríme záznam JSON z vytvoreného poľa.
Pozor! Funkcia json_encode () bude fungovať iba v PHP 5.2 a vyššom.