Hace unas semanas, demostré cómo hacer solicitudes AJAX con JavaScript en bruto. En el de hoy screencast, iremos un paso más allá, ya que utilizamos PHP para consultar una base de datos, la convertimos al formato JSON y usamos Javascript para solicitar esta información de forma asíncrona y mostrarla en la página. Si recién está comenzando con este tipo de conceptos, este es el video perfecto para usted.!
Este bloque de código solicita de forma asíncrona una página, y luego utiliza el script "Parse" de Douglass Crockford para crear un nuevo objeto global. De esa manera, podemos filtrar fácilmente a través de los datos JSON devueltos.
función de carga (url, devolución de llamada) var xhr; if (typeof XMLHttpRequest! == 'undefined') xhr = new XMLHttpRequest (); else var Versiones = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"]; para (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 += '
Modificado ligeramente con respecto al video para mejorar la eficiencia, una solución mucho más elegante que la que se me ocurrió al momento.
consulta ('SELECT * FROM contactInfo')) $ returnArray = array (); while ($ row = $ result-> fetch_object ()) $ returnArray [] = $ row; echo json_encode ($ returnArray); else // error se produjo echo 'error:'. $ mysql-> error;
Espero que todos estén disfrutando de esta "serie de videos que nunca debieron ser". Originalmente, fue planeado como un único tutorial; sin embargo, debido al hecho de que hay tanto que cubrir, me gustaría continuar creando más videos para usted, es decir, si los tendrá. Siéntete libre de dejarme saber que te gustaría aprender a continuación.