Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2005, 08:35
Avatar de xcars
xcars
 
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Http Request --> Como funciona

Muy bien, basicamente AJAX trabaja con http request (peticiones HTTP) para lo cual es necesario conocer muy bien como trabaja el protocolo HTTP.
Hay varios metodos que se utilizan en HTTP, los mas comunes son GET y POST, pero tambien estan PUT, DELETE, HEAD, para obtener mas info sobre esto pueden leer aki
HTTP/1.1 Definicion de MEtodos

y tambien hay que conocer los estados en que una peticion puede estar
aki les dejo una url donde esta la lista de codigos de estados en los que se puede encontrar una peticion:
HTTP Status Codes

ahora bien, para entender AJAX es necesario que entiendan que su funcionabilidad depende del browser, ya que todos los browser tienen un standard por asi decirlo de lenguaje, pero como sabran, el monopolio de microsoft tiene su "propio" "standard" por lo cual tenemos que identificar mediante una funcion primero que tipo de browser tenemos, esto lo podemos hacer con la siguiente funcion:

Código PHP:
var xmlhttp=false;
 try {
  
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (
e) {
  try {
   
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (
E) {
   
xmlhttp false;
  }
 }
if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
  
xmlhttp = new XMLHttpRequest();

con esta funcion creamos el objeto para el browser que se esta utilizando.
en IE, creas el objeto usando:
new ActiveXObject("Msxml2.XMLHTTP") o
new ActiveXObject("Microsoft.XMLHTTP")
dependiendo de la version de MSXML instalada.
En mozilla y safari usan XMLHttpRequest()

ahora, bien aunque la definicion de AJAX nos diga que trabaja con XML no significa que que sea extrictamente para XML, podemos trabajar tambien con textos, htmls etc, pero esto mas adelante.

pero. como hacemos una peticion?
es muy sencillo el siguiente ejemplo lo describira:'
Código PHP:
xmlhttp.open("GET""test.txt",true);
 
xmlhttp.onreadystatechange=function() {
  if (
xmlhttp.readyState==4) {
   
alert(xmlhttp.responseText)
  }
 }
 
xmlhttp.send(null
expliquemos linea por linea
xmlhttp.open("GET","test.txt",true);
dice practicamente al browser que "obtenga" el texto contenido en el archivo test.txt que esta ubicado en el mismo lugar donde se esta ejecutando la pagina.

xmlhttp.onreadystatechange=function(){
esto significa que cuando cambie el estado de la peticion que haga lo que sigue
if (xmlhttp.readyState==4) {
alert(xmlhttp.responseText)

si el estado de la peticion es 4 (que esta todo bien) que mande un mensaje de texto con lo que contenia el archivo test.txt (esto es xmlhttp.responseText) es decir, que con xmlhttp.responseText le estamos diciendo que lo que nos esta devolviendo la funcion OPEN y el metodo GET lo debe interpretar como un TEXT, hay que conocer todas las opciones que tenemos aki, como mencione antes, que es parte del protocolo http ok.
bueno aki dejo por el momento, luego sigo adicionando lo ue falta para crear algo peque en AJAX.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.