Cu câteva săptămâni în urmă, am demonstrat cum să faceți cereri AJAX cu JavaScript brut. În ziua de azi screencast, vom face lucrurile un pas mai departe pe măsură ce folosim PHP pentru interogarea unei baze de date, convertirea acesteia în formatul JSON și folosirea Javascript pentru a solicita asincron această informație și a afișa-o pe pagină. Dacă începeți doar cu astfel de concepte, acesta este videoclipul perfect pentru dvs.!
Acest bloc de cod solicită în mod asincron o pagină și apoi folosește scriptul "Parse" al lui Douglass Crockford pentru a crea un nou obiect global. În acest fel, putem filtra cu ușurință datele returnate JSON.
încărcarea funcției (url, apel invers) var xhr; dacă (typeof XMLHttpRequest! == 'undefined') xhr = nou XMLHttpRequest (); altfel var versions = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"]; pentru (var i = 0, len = versions.length; i < len; i++) try xhr = new ActiveXObject(versions[i]); break; catch(e) // end for xhr.onreadystatechange = function() if((xhr.readyState < 4) || xhr.status !== 200) return; callback(xhr); ; xhr.open('GET', url, true); xhr.send("); load('emails.php', function(xhr) var response = JSON.parse(xhr.responseText); var container = document.getElementById('container'); for(var i = 0, len = response.length; i < len; i++) container.innerHTML += '
Modificat ușor de la videoclip pentru a îmbunătăți eficiența - o soluție mult mai elegantă decât cea pe care am inițiat-o la fața locului.
interogare ('SELECT * FROM contactInfo')) $ returnArray = array (); în timp ce ($ row = $ result-> fetch_object ()) $ returnArray [] = $ rând; echo json_encode ($ returnArray); altceva // eroare a apărut eroare ecou: '. $ Mysql-> eroare;
Sper că toți vă bucurați de această "serie video care nu a fost niciodată menită să fie". Inițial, a fost planificat ca un singur tutorial; totuși, datorită faptului că există prea mult de acoperit, aș dori să continuu să creez mai multe videoclipuri pentru dvs. - adică dacă le veți avea. Simți-mă liber să-mi spui ce vrei să înveți în continuare.