====== XHR a PHP ====== Prohlédněte si [[http://jsfiddle.net/ondras/ach6g/|zadání]]. Cílem cvičení je vytvořit funkční demo našeptávače: při psaní do textového políčka se zobrazují návrhy doplnění, které (na základě zadaného textu) vybírá serverová strana. ===== Architektura řešení ===== Aplikace sestává ze dvou komponent: * serverová komponenta filtruje slovník dle zadaného výrazu a vrací našeptávaná slova, * klientská komponenta při interakci se vstupním polem posílá dotazy na server a zobrazuje odpovědi. ===== Úkoly ===== - doplnit chybějící kód v ''client/script.js'' - naimplementovat serverovou stranu ===== Poznámky ===== - třetí parametr pro ''XMLHttpRequest::open'' určuje asynchronnost požadavku - parametr pro ''XMLHttpRequest::send'' obsahuje POST data - onreadystatechange callback se vykonává v kontextu požadavku (''this instanceof XMLHttpRequest'') - data přenášejte v triviálním textovém formátu - položky odděleny znakem nové řádky ===== Další možnosti vylepšení ===== * Posílat dotaz až po timeoutu (tj. ne po každém stisku klávesy) * Data nenačítat ze souboru, ale z databáze * Reagovat na vložení textu myší * Našeptávané termíny nejen zobrazovat, ale umožnit též jejich výběr (myší, klávesnicí) * Vylepšit transportní formát o např. zvýrazňování /* ===== Příprava ===== {{http://course-wa1.felk.cvut.cz/~vlachzd1/09/start.html | html stránka}} ===== Řešení ===== {{http://course-wa1.felk.cvut.cz/~vlachzd1/reseni/09.zip | Řešení 09}} */