Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Varios Post Request AJAX seguidos

Estas en el tema de Varios Post Request AJAX seguidos en el foro de Frameworks JS en Foros del Web. Hola! Tengo un código javascript que conseguí hace unos días y he estado trasteando un poco con él. Se trata del "makePostrequest" de AJAX que ...
  #1 (permalink)  
Antiguo 19/09/2008, 13:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Varios Post Request AJAX seguidos

Hola!

Tengo un código javascript que conseguí hace unos días y he estado trasteando un poco con él. Se trata del "makePostrequest" de AJAX que he visto ya en varios sitios y os cuelgo el código javascript tal como lo tengo:

Código HTML:
var http_request = false;
   function makePOSTRequest(url, parameters, etiquetadiv) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('No s\'ha pogut crear la instància XMLHTTP');
         return false;
      }
	  
      http_request.onreadystatechange = function(){
	  if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
			document.getElementById('loading_coment').style.visibility="hidden";
			document.getElementById(etiquetadiv).innerHTML = result;
         } else {
            alert('No s\'ha carregat correctament el fitxer.');
         }
      }
	  };
	    
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }

function get_comentaris() {
document.getElementById('loading_coment').style.visibility="visible";
	var etiquetadiv = "ajax_comentaris";
	  
	  var poststr = "accio=afegir&comentari=" + encodeURI( frmentrada.comentari.value ) +
					"&data=" + encodeURI( frmentrada.data.value );
	  frmentrada.comentari.value="";
      makePOSTRequest('enviacoment.php', poststr, etiquetadiv);
}
Básicamente, como se puede ver, la función get_comentaris(); carga los datos de un formulario y los manda a través de javascript a un div de la página. Funciona perfectamente en Firefox 3 y Ie 6.

Mi quebradero de cabeza desde hace unos días es cómo conseguir realizar la actualización tanto del div "ajax_comentaris" como de otro llamado "ultimscomentaris", que no es más que un módulo que muestra los últimos comentarios.

Si se añade otro makePostrequest debajo del actual, es curioso porque el envio de la página se realiza en el segundo Div, pero con los resultados del primero. Supongo que debe haber una forma de terminar el request, para poder iniciar otro. También he probado con un contador a tiempo x pero no funciona.

Me gustaría saber como se resuelve esto modificando el código, sin recurrir a liberías de estas que corren por internet, que no me interesan, almenos para las pruebas que voy haciendo.

Alguien me puede ayudar? Mil Gracias por adelantado!!!
  #2 (permalink)  
Antiguo 19/09/2008, 13:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Varios Post Request AJAX seguidos

Hola xavixavi,

El problema es que estas usando el mismo objeto AJAX para realizar tus dos consultas, necesitas usar objetos AJAX independientes si quieres realizar múltiples consultas.

Saludos.
  #3 (permalink)  
Antiguo 20/09/2008, 08:35
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Varios Post Request AJAX seguidos

Gracias por tu rápida respuesta!

Efectivamente duplicando el código y cambiando el nombre de función y las variables funciona correctamente. Pero yo lo que quería era ahorrar líneas de código así que finalmente he optado por... convertir http_request en un array. En la función "makepostrequest" añado otro parámetro que viene a ser el valor del array y de esta forma me permite en una función introducir varios makepostrequest sin problemas ;)


Gracias otra vez y hasta pronto!

xavi
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:37.