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

ajax con varias respuestas

Estas en el tema de ajax con varias respuestas en el foro de Frameworks JS en Foros del Web. Saludos a todos. Estoy enpezando a usar Ajax y me ha surgido una duda. ¿Cómo puedo obtener más de una respuesta? Me explico. Tengo una ...
  #1 (permalink)  
Antiguo 24/03/2007, 07:52
 
Fecha de Ingreso: abril-2006
Mensajes: 16
Antigüedad: 18 años, 7 meses
Puntos: 0
ajax con varias respuestas

Saludos a todos.
Estoy enpezando a usar Ajax y me ha surgido una duda. ¿Cómo puedo obtener más de una respuesta? Me explico. Tengo una web en la cual, cuando el usuario hace clic en un cierto boton, se envia cierta información mediante POST a un archivo PHP que hace una consulta al servidor para volcar en la pagina principal un texto en una text área (eso ya lo sé hacer con ajax y el texto se muestra sin
necesidad de recargar). Ahora bien, me gustaría que, además del texto, del fichero PHP se retornara un valor entero que indicara el resultado de la consulta, para en la página principal, hacer una llamada a javscript que actúe e función de dicho parámetro.
Este es el código que vuelca:

var xmlHttp;
xmlHttp=new XMLHttpRequest();
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.opciones.resultado.value=xmlHttp.response Text;
}
}
var modo;
modo = document.getElementById('modo').value;

var codigo;
codigo = document.getElementById('codigo').value;

var filename;
filename = document.getElementById('filename').value;

var filetipo;
filetipo = document.getElementById('filetipo').value;


xmlHttp.open("POST","grabar.php",true);

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.send("modo=" + modo + "& codigo=" + codigo + "& filename=" + filename + "& filetipo="+ filetipo);




¿Cómo puedo retornar este código desde grabar.php? ¿En el código javascript, dónde hago la llamada a la función para que se active justo al recibir dicho código? ¿Alguna idea?

Gracias por adelantado
  #2 (permalink)  
Antiguo 26/03/2007, 12:44
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: ajax con varias respuestas

por lo que entiendo, quieres recibir dos valores en una misma respuesta, verdad, un entero y un texto, me equivoco? para hacer eso, hay dos tecnicas, puedes utiliazr XML o bien JSON, ej:

<respuesta>
<num>2</num>
<txt>Hola mundo</txt>
</respuesta>

o bien

{
num:2,
txt:'Hola mundo'
}


ok, lo siguiente, es sacar la informacion, si eliges hacerlo con XML, tienes que entrar al arbol con firstChild(), tomar el nodo principal, y entrar a sus dos hijos, sacas el numero, y luego sacas el texto.

si elegiste utilizar JSON, entonces, necesitas utilizar la funcion eval(), aignandole el resultado a una variable, al ejecutar esto, la variable ahora contiene el objeto, y accesas a las propiedades de este, num y a txt.

have funnnnnnnn
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 04:16.