Paprastas Ajax su PHP $_GET panaudojimas
Pirmiausia reikia susikurti mums *.js failą. Galite rašyti tiesiai ir į puslapio kodą, bet taip lengviau ir mažiau užima vietos. Žemiau pateiktą pavyzdį įsidėkite kur norit, ar tai į *.js failą ar į patį puslapio kodą:
// Ajax Kreipimosi i Narsykle Dalis // *************** START HTTP REQUEST ********************* function createRequestObject() { var req; if(window.XMLHttpRequest){ // Firefox, Safari, Opera... req = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer 5+ req = new ActiveXObject("Microsoft.XMLHTTP"); } else { // Jeigu naršyklė nepalaiko Ajax // arba nutiko kokia kritine klaida alert('Naršyklė nepalaiko Ajax'); } return req; } // Sukuriamas XMLHttpRequest objektas var http = createRequestObject(); // ***************** END HTTP REQUEST ********************* // ***************** START GET METODAS ******************** function sendRequest(act) { // Atidarome PHP scripta GET metodui http.open('get', 'check.php?user='+act); http.onreadystatechange = handleResponse; http.send(null); } function handleResponse() { if(http.readyState == 4 && http.status == 200){ // Tekstas kuris grazinamas is PHP failo var response = http.responseText; if(response) { // Atnaujiname nurodyta ID document.getElementById("check_info").innerHTML = response; setTimeout(countPosts,20); } else { alert('Negauta jokiu duomenų iš check.php failo'); } } } // ***************** END GET METODAS ************************
Kaip matėte iš kodo dabar reikės kreiptis į check.php failą. Taigi check.php failo kodo dalis:
if (!empty($_GET['user'])) { $sql = mysql_query("SELECT `id` FROM `users` WHERE `nick`='" . mysql_escape_string($_GET['user']) ."'"); if (mysql_num_rows($sql) == 0) echo "<span class=\"mygtukas_b_blue\">Laisvas</span>"; if (mysql_num_rows($sql) != 0) echo "<span class=\"user_red\">Užimtas</span>"; } else { echo ""; }
Ši dalis skirta atvaizduoti ar Nick'as užimtas ar Laisvas. Jūsų valia kaip panaudosite čia pateiktus duomenis.
Dabar grįžtame prie pagrindo atgal. Kai sudarome visus reikalingus failus, galime jau ir išvesti duomenis į atitinkamą vietą. Štai paprastas pavyzdys:
// Pirmiausia mums reikia nurodyti ajax.js faila:
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
Toliau sukurkime input laukeli kuriame bus ivedamas nickas ir mygtuką kuris patikrins mūsų nurodytą nick‘ą:
//Laukelis: <input id="check_name" name="mod_nick" type="text" class="plotas" size="20" value="" > //Mygtukas: <input name="nick_check" type="button" class="mygtukas" id="nick_check" value="Patikrinti" onClick="sendRequest(document.getElementById('check_name').value);" /> (Paspauskite šį mygtuką prieš tęsdami registraciją, jeigu toks nick\'as jau egzistuoja prašome pasirinkti kitą)
Toliau galime jau rezultatams atvaizduoti nurodyti div‘a. Prisiminkime kad ajax.js nustatėme pagal koki div‘o ID mes atnaujinsime duomenis. Taigi mano pavyzdžiu tai atrodys taip:
<div id="check_info" style="width:100px;float:left"></div>
Discussion