¿Tienes una cuenta? identificate: Usuario Contraseña o puedes obtener una gratis.

ToRo Blog

En Vips 4 caminos

martes 22 de noviembre, 2005 - 13:52

Un problemita con ajax, resuelto.

El día de ayer tenía varios problemas con AJAX. Resulta que pasaba varios parámetros por el método GET y todo bien, el problemo fué cuando necesité pasar variables por POST en AJAX. Básicamente para crear el objeto uso la siguiente función en javascript:

function createRequestObject() {
    try {
        objeto = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try { objeto= new ActiveXObject("Microsoft.XMLHTTP"); } 
	catch (E) { objeto= false; }
    }
    if (!objeto && typeof XMLHttpRequest!='undefined')
	objeto = new XMLHttpRequest();
    return objeto;
}
http = createRequestObject();

De esa forma, en el objeto http tengo la forma de llamar a los procedimientos de XMLHttpRequest. Para pasar variables por GET es muy, muy sencillo, tengo otra función:
function sndReq(argumentos,elid) {
    aaa = elid;
    http.open('get','ARCHIVO.PHP?'+argumentos,true);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

Donde ARCHIVO.PHP en este caso es quien me maneja los parámetros que le pase. Hasta allí esta bien, entonces para envíar parámetros por medio del método POST pensé en crear otra función exclusiva para ello:

function psndReq(argumentos,elid) { aaa = elid; url = “ARCHIVO.PHP?”; http2.open(‘POST’,url,true); http2.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’); http2.send(argumentos); http2.onreadystatechange = handleResponse2;

}


(nótese que ahora ARCHIVO.PHP es pasado a través de una variable, si no se hace así específicamente no funciona… ignoro el porque, lo descubrí después de miL intentos de que funcionara.

Ya tengo las dos funciones para mandar por GET o POST, el problema es que utilizando el objeto http, si empiezas a utilizar GET, entonces ya no es posible usarlo con POST... una vez más, ignoro el porqué. Como sea, la solución es crear un nuevo objeto http y una función que registre las acciones de la respuesta:

function handleResponse() {
    var moreID = document.getElementById(aaa);
    moreID.style.display = "block";
    if (http.readyState == 1){
        moreID.innerHTML = 'CARGANDO...';
    }
    if(http.readyState == 4){
        response = http.responseText;
        moreID.innerHTML = response;
    }
}

Bueno, próximamente pondré de manera detallada como utilizar estas funciones, aunque es muy sencillo.

Salut!

Almacenado en Tecnología, Ajax [ Enlace | 5 comentarios ] del.icio.us del.icio.us Estrella este post *****
comparte esto
Comparte esta entrada (del.icio.us, por correo, etc) o agrega este blog a tu Google Reader.

Entradas relacionadas:
  1. AJAX ¿wtf?
  2. AJAX Libraries API
  3. javascript
  4. Hacer URL clickeables con javascript
  5. Eventos en javascript, con Prototype JS.
  6. Comentarios
  7. PHP y la zona horaria
  8. GMAIL - Primeras impresiones
  9. Blackberry
  10. Conectar a internet con proxy:: ProxyChains
  11. La chingada gripe
  12. Solicitamos moderadores
  13. Sony Ericsson Z600
  14. Thundercats: Los felinos cósmicos.
  15. Pláticas a gusto

Han escrito 5 comentarios de «Un problemita con ajax, resuelto.»

foto apyo
Martes 22 de noviembre, 2005 13:59.

ups, pense que ibas hablar de futbol europeo jajaja
se nota que soy cero docto en programación o no se de que hablabas pero o.k.

foto [jeep]
Martes 22 de noviembre, 2005 14:27.

haaaa y… eso que es???

sin foto sunco
Sábado 03 de diciembre, 2005 23:41.

Yo recien ando metido en Ajax. Tengo una web donde puedes hacer login (que toma los datos de el Invision Power board).. tengo varias secciones que son leidas con ajax, para lo mismo, ahorrar tiempo, ancho de banda, etc.. Con las cookies tengo problemas al hacer login pero solo con el Internet Explorer, con Firefox, Netscape y Opera no me pasa eso.. algo del cache supongo..

Lo que quiero hacer ahora, es enviar archivos al servidor pero la unica forma que se es enviando el formulario completo ya que no se como mandar el con ajax.. has hecho eso ?

sin foto sunco
Sábado 03 de diciembre, 2005 23:42.

ya que no se como mandar el type=file con ajax.. has hecho eso ?

(no salio en el anterior post)

foto ToRo
Lunes 03 de abril, 2006 14:51.

pues es igual sunco, se envía por post. Solo que habría que ver que opciones se tienen que enviar (con setRequestHeader).

Si usted tiene una cuenta en ymipollo.com, identifíquese:
Usuario: Password: (recordar identificación en este blog)
Escriba su comentario:
Por favor escriba respecto al post, procure revisar su ortografía. Si su comentario no es respecto al tema, por favor no lo haga.

Usted escribirá este mensaje como:
Es posible que su comentario no aparezca de forma inmediata (o que nunca aparezca) eso depende de la decisión del autor de este blog.

suscribirse a este post.

JORGE MARTÍNEZ MAURICIO

Esta entrada fue escrita el martes 22 de nov de 2005 a las 13:52, almacenada en Tecnología, Ajax. El permiso para esta entrada es PUBLICO (5 comentario/s).

Mi estado de ánimo en ese momento fue Psicopata. Puedes seguir esta entrada mediante RSS 2.0 o bien dejar algún comentario.


Otras secciones

Lo más reciente
Acerca de mi
Galería de Imágenes
Lo más visto
Amigos
Todos mis posts

Ymipollo.com

Lectura obligada

Gabriela

Monos de Patricio
El chamuco virtual
Sensacional de Derechos Humanos

Linuxman
Munoz
Neo
RIVE
Ciscas
Minid


4,521 visitas » Diseño basado en I-HAEV-STYEL re-modificado por minid.