Qualche settimana fa, ho dimostrato come fare richieste AJAX con JavaScript non elaborato. In oggi screencast, faremo un ulteriore passo avanti mentre usiamo PHP per interrogare un database, convertirlo nel formato JSON e usare Javascript per richiedere in modo asincrono queste informazioni e visualizzarle sulla pagina. Se hai appena iniziato con questo tipo di concetti, questo è il video perfetto per te!
Questo blocco di codice richiede in modo asincrono una pagina e quindi utilizza lo script "Parse" di Douglass Crockford per creare un nuovo oggetto globale. In questo modo, possiamo filtrare facilmente i dati JSON restituiti.
function load (url, callback) var xhr; if (typeof XMLHttpRequest! == 'undefined') xhr = new XMLHttpRequest (); else var versions = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"]; per (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 += '
Leggermente modificato dal video per migliorare l'efficienza - una soluzione molto più elegante di quella che ho originariamente trovato sul posto.
query ('SELECT * FROM contactInfo')) $ returnedArray = array (); while ($ row = $ result-> fetch_object ()) $ returnedArray [] = $ row; echo json_encode ($ returnedArray); else // errore si è verificato echo 'errore:'. $ Mysql> errore;
Spero che vi stiate divertendo con questa "serie di video che non è mai stata pensata". Originariamente, è stato progettato come un singolo tutorial; tuttavia, visto che c'è così tanto da coprire, mi piacerebbe continuare a creare altri video per te, cioè se li avrai. Sentiti libero di farmi sapere cosa vorresti imparare dopo.