mira, te explico rapidamente como lo hago yo!
primero tengo una funcion que me crea la instancia para usar AJAX
Código:
function initRequest() {
// code for Mozilla, etc.
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
// code for IE
isIE = true;
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
ok, eso es todo, lo unico que hace es darme una instancia, para IE o Mozilla.
ok, ahora te pongo un ejemplo de como mando informacion al servidor:
Código:
function guardarAlgoEnServer (){
var palabra = "esto es lo que le voy a mandar al servidor";
var hello = "hello world!";
var url = "myServlet?palabra="+palabra+"&hello="+hello;
var req = initRequest();
req.onreadystatechange = function() {
// if xmlhttp shows "loaded"
if (req.readyState == 4) {
// if "OK"
if (req.status == 200) {
manejarRespuesta(req.responseXML);
} else if (req.status == 204){
alert("error al solicitar informacion al servidor");
}
}
}
req.open("GET", url, true);
req.send(null);
}
ok, aqui unicamente creo dos variables palabra, hello, tienen un texto cada una, lo siguiente es hacer la URL de mi servlet en este caso, aqui puedes poner un PHP, ASP, en mi caso JAVA
y le pasas parametros en la URL.
despues creo el objeto req, con la primera funcion que te puse, inmediatamente de esto, le digo que en el evento
onreadystatechange se dispare una funcion, la cual primero verifico si se cargo bien, luego el estatus, estas lineas se ejecutan
despues de que el servidor me respondio.
ok, las ultimas dos lineas
req.open, aqui nadamas le especifico el metodo de envio, en este caso GET, la URL, y el ultimo parametro es para indicarle que sera asincrono.
por ultimo ejecuto el metodo
req.send(null)
si te diste cuenta hay una funcion que se llama
manejarRespuesta(req.responseXML);, esta es la encargada de "traducir" el XML regresado por el servidor. aqui parsearias la informacion y haces con ella lo que quieras, mostrarsela al cliente, hacer algunas operaciones, etc....
bueno, espero te sirva para comenzar!
have funnnnn