Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/10/2006, 07:48
Avatar de ikhuerta
ikhuerta
 
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 18 años, 2 meses
Puntos: 0
A ver si te he entendido...


To lo que quieres es seguir un proceso como este:


1) Abrir Base de datos y sacar datos.
2) Mandar parte de los datos y el id de conexión a base de datos por ajax.
3) Luego hacer otra petición por ajax que aprobeche que ya tienes el id de conexión a base de datos y con php procesarlo.
4) Cerrar la conexión.


Primero decirte que no se si puedes hacer eso de utilizar el mismo id de conexión para distintas cargas de una pagina en php. Eso te lo resolverán mejor en el foro de php. Supondré que si lo intentas es porque ya sabes que eso si que se puede hacer.

Bien, también supongo por lo que preguntas que tu cargas las cosas mediante responseText y luego las separas, no? Ya que con responseXML (y cargando las tablas en forma de xml) te sería más obvia la solución.

Bien, pues así como lo planteas la solución (si es que se puede) sería montar tus cadenas con caracteres de separación. En el proceso haces un split("caracteres_de_separacion") y ya tienes tu id separado del resto.

Ahora, no te aconsejaría utilizar DIVS para guardar variables sino variables Javascript. En javascript si las variables son definidas fuera de función se mantienen siempre.

Así que antes de cargar con ajax nada puedes generar una variable con :

Código:
var mi_id_de_conexión;
y Cuando hagas el "onready==4" por ejemplo si usas como separador "###"...

[CODE]
var a=miobjetoXHR.responseText;
a=a.split("###");
responseText=a[0];
mi_id_de_conexión =a[1];
[CODE]

De esta forma se quedará ahi guardado hasta que lo necesites (porque ya fue definido antes).

Al llamar en otra funcion distinta de nuevo a ajax puedes montar el get por ejemplo:

Código:
URL="mi_pagina.php?id_link="+mi_id_de_conexión;
miObjetoXHR.open("Get",URL);
...
No tendrás que preocuparte de que la llamada a la función contenga como variable de entrada "mi_id_de_conexion" ya que repito otra vez, al haberla definido fuera será de ambito global y siempre se podrá acceder a ella.


--------------------------------

Otra forma de hacerlo si no te aclaras con esto. Sería simplemente pasar ese id de conexión por cookie. Aunque se trate de Ajax las cookies se guardan y reciben en las llamadas por XmlHttpResponse de la misma manera que con páginas cargadas.