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

Cómo usar un solo .js para todos los ajax

Estas en el tema de Cómo usar un solo .js para todos los ajax en el foro de Frameworks JS en Foros del Web. Hola, Hace tiempo peleándome y tocando de aquí y de allá conseguí dar con un javascript que me funcionaba para ajax. El problema es que ...
  #1 (permalink)  
Antiguo 22/07/2009, 10:00
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años, 1 mes
Puntos: 0
Cómo usar un solo .js para todos los ajax

Hola,

Hace tiempo peleándome y tocando de aquí y de allá conseguí dar con un javascript que me funcionaba para ajax. El problema es que lo usaba para una función, y ahora que quiero usar 2 o 3 he de crear un js para cada uno, lo cual veo poco práctico. ¿No podría adaptarse un js para usar con todas o he de crear un js por cabeza?

Esta es la parte del código que he de editar cada vez:

(en negrita las líneas con variable)

Cita:

function traerDatos(tipoDato)

{


// poner en capa

var capa=document.getElementById("capacombo");



// Creo el objeto AJAX
var ajax=nuevoAjax();
// Coloco el mensaje "Cargando..." en la capa
capa.innerHTML="<br><br><center><img src=ajax-loader.gif border=0></center>";
// abre conex
ajax.open("POST", "funcion.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("d="+tipoDato);

ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// respuesta recibida
capa.innerHTML=unescape(ajax.responseText);
capa.innerHTML=capa.innerHTML.replace(/\+/gi," ");


}

Luego lo llamo con

<a href="#" onclick="javascript:if (event.preventDefault) event.preventDefault();traerDatos('producto');retu rn false;">
  #2 (permalink)  
Antiguo 22/07/2009, 11:29
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 15 años
Puntos: 3
Respuesta: Cómo usar un solo .js para todos los ajax

podrías usar una estructura switch y un parametro para controlar cada case.
Supongamos que tenés en distintas url's
Código HTML:
switch(url){
case "pagina1.php": ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("cualquiercosa="+tipoDato);
break;
case "pagina2.php": ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("cualquiercosa="+tipoDato);
break;
}
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// respuesta recibida
capa.innerHTML=unescape(ajax.responseText);
capa.innerHTML=capa.innerHTML.replace(/\+/gi," ");


}
No sé si es eso lo que buscás
  #3 (permalink)  
Antiguo 22/07/2009, 12:09
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Cómo usar un solo .js para todos los ajax

Ahm... bueno, yo dudaba si con javascript no podría pasarle como variables los campos a cambiar... ¿es habitual usar un js distinto para cada ajax en la página?
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 03:45.