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

Como lanzo un javascript con ajax???

Estas en el tema de Como lanzo un javascript con ajax??? en el foro de Frameworks JS en Foros del Web. Hola a todos!!!! de nuevo yo Bueno est ves tengo un pequeño problema!!!! tengo aplicacioncitas hechas con iframes simulando AJAX a la perfección pero eso ...
  #1 (permalink)  
Antiguo 09/05/2006, 12:25
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
Pregunta Como lanzo un javascript con ajax???

Hola a todos!!!!
de nuevo yo

Bueno est ves tengo un pequeño problema!!!! tengo aplicacioncitas hechas con iframes simulando AJAX a la perfección pero eso implica mucho más cosigo en javascript!!!!

Asi que he decidido pasar lo que tengo a AJAX a ver como me va!!! pero...........

Como lanzo una función o cualquier cosa escrita en javascript que fue traida con ajax??? alguien sabe?????

De antemano muchas gracias!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #2 (permalink)  
Antiguo 09/05/2006, 18:16
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 10 meses
Puntos: 9
no entendi un choto... que queres hacer?
  #3 (permalink)  
Antiguo 09/05/2006, 18:18
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 21 años, 9 meses
Puntos: 0
no entendi que queres, pero si es para mostrar por pantalla los resultado del xmlrequest seria

Cita:
document.getElementById("aqui-el-div").innerHTML = satelite.responseText
__________________
See you... y Tolkien... mucho Tolkien...
  #4 (permalink)  
Antiguo 09/05/2006, 21:08
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
Pregunta

Resulta que por medio de ajax voy y le paso a un página unas variables las cuales esa página o escript va a hacer algunas cosas ok???

nada nuevo por ahora!!!

La cosa es que la respuesta de es un script en javascript y que por medio de ajax lo traigo y lo pongo en cierto punto de la web pero quiero activar dicho script!!!

El script es una alerta " alert('alerta activada por medio de ajax'); "

Por favor no me ofrescan alternativas!!!!

Necesito es ese punto en especifico ¿¿Como activo scripts por medio de ajax??

En resumen de la web principal se mandan unas variables por medio de ajax a un script en el servidor que es un codigo en php ¿¿ok?? este las procesa y me retorna un resultado ¿¿ok?? pero el resultado es un codigo javascript que hace algo ¿¿ok?? ¿¿como hago para que este codigo (la respuesta) se ejecute??
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #5 (permalink)  
Antiguo 10/05/2006, 11:08
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 21 años, 9 meses
Puntos: 0
lo que podrias hacer es forzar que el script te devuelva algun valor que vos en el objeto antes de hacer que muestre todo el contenido del response puedas validarlo para DESDE la funcion del objeto llamar a la funcion que quieras o generar un alert...
el problema es porque desde la pagina a donde el ajax envia los datos y trae el resultado no se pueden ejecutar scripts de javascript, ya que el header en cuestion es la pagina DESDE donde se envian los datos, el cual no esta disponible para la pagina a DONDE se envian los datos...
__________________
See you... y Tolkien... mucho Tolkien...
  #6 (permalink)  
Antiguo 10/05/2006, 11:31
 
Fecha de Ingreso: enero-2006
Mensajes: 30
Antigüedad: 18 años, 9 meses
Puntos: 1
No lo he probado, pero tal vez funcione, y si no, creo que por ahí puede ir la solución:

variableTraidaAjax="alert('alerta activada por medio de ajax');"
eval(variableTraidaAjax);

Un saludo.
  #7 (permalink)  
Antiguo 10/05/2006, 15:05
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
Cita:
Iniciado por DjFaramir
lo que podrias hacer es forzar que el script te devuelva algun valor que vos en el objeto antes de hacer que muestre todo el contenido del response puedas validarlo para DESDE la funcion del objeto llamar a la funcion que quieras o generar un alert...
el problema es porque desde la pagina a donde el ajax envia los datos y trae el resultado no se pueden ejecutar scripts de javascript, ya que el header en cuestion es la pagina DESDE donde se envian los datos, el cual no esta disponible para la pagina a DONDE se envian los datos...
?????????????????????????????

Cita:
Iniciado por Osorio06
No lo he probado, pero tal vez funcione, y si no, creo que por ahí puede ir la solución:

variableTraidaAjax="alert('alerta activada por medio de ajax');"
eval(variableTraidaAjax);

Un saludo.
voy a provar a ver!!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #8 (permalink)  
Antiguo 10/05/2006, 21:26
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
nada de nada!!!
tal parece que ese lio como que no tiene solución porque es una página que ya cargo y que solo estoy modificando un trocito del codigo por un script en javascript y pues....... se necesita obligatoriamente de un evento quien accione dicho script!!!!

Estoy por terminar de devolverme a donde estaba, a los iframes!!!! pero bueno espero sugerencias a ver si no envio al tal AJAX a la Puta Mierda!!!!!!!!

De antemano muchas gracias a quien me pueda ayudar!!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-

Última edición por JALF; 11/05/2006 a las 02:24
  #9 (permalink)  
Antiguo 11/05/2006, 03:08
 
Fecha de Ingreso: mayo-2006
Mensajes: 1
Antigüedad: 18 años, 6 meses
Puntos: 0
ajax

en esta página hay un tutorial de AJAX con ejemplos prácticos que te puedes descargar y todo... no lo he leído detenidamente pero parece bastante interesante...

disena.es/respuestas


  #10 (permalink)  
Antiguo 11/05/2006, 06:23
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 19 años, 4 meses
Puntos: 1
Mira te recomiendo que uses en vez de document.getElementById("aqui-el-div").innerHTML = satelite.responseText uses mejor responseXML. Es decir en vez de reescribir una capa con innerHTML recibes codigo xml y cada una de las etiquetas xml metes lo que te sea necesario para despues leerlo con getElementsByTagName

if(_objetus.status==200)
{
var vari=objeto_ajax.responseXML;
var nombre= vari.getElementsByTagName('Nombre funcion').item(0).firstChild.data;
var parametros= vari.getElementsByTagName('parametros').item(0).fi rstChild.data;
}

y a continuacion ejecutmos la funcion con eval ya que tenemos el nombre y los parametros
  #11 (permalink)  
Antiguo 11/05/2006, 06:26
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 19 años, 4 meses
Puntos: 1
Aqui os dejo un ejemplillo por si no me explique bien:

function primer_topeXML()
{
_objetus=objetus()
_values_send="funcion=ptxml"
_URL_="procesador.php?"
_objetus.open("GET",_URL_+"&"+_values_send,true);
_objetus.onreadystatechange=function() {
if (_objetus.readyState==4)
{
if(_objetus.status==200)
{
var vari=_objetus.responseXML;
var _i = vari.getElementsByTagName('ip').item(0).firstChild .data;
var _u = vari.getElementsByTagName('uri').item(0).firstChil d.data;
var _d = vari.getElementsByTagName('date').item(0).firstChi ld.data;
window.alert(_i+"\n"+_u+"\n"+_d);
}
}

}
_objetus.send(null);
return
}


procesador

<?php <?php
if(isset($_GET['funcion']))
{
$_valor=$_GET['funcion'];
if($_valor=="pt")
{
$_pt="Tu ip: ".$_SERVER['REMOTE_ADDR']."\n";
$_pt.="request_uri:";
$_pt.=htmlspecialchars($_SERVER['REQUEST_URI'])."\n";
$_pt.="date(): ".date("d-m-Y : H-i-s")."\n";
echo $_pt;
}
elseif ($_valor=="ptxml")
{
$_xml="<?xml version=\"1.0\" standalone=\"yes\"?>\n";
$_xml.="<serv>\n";
$_xml.="<ip>Tu ip: ".$_SERVER['REMOTE_ADDR']."</ip>\n";
$_xml.="<uri>request_uri:";
$_xml.=htmlspecialchars($_SERVER['REQUEST_URI']);
$_xml.="</uri>\n";
$_xml.="<date>".date("d-m-Y : H-i-s")."</date>\n";
$_xml.="</serv>\n";
//mandamemos cabeceras identificando al documento
//como un documento XML
header('Content-Type: text/xml');
echo $_xml;
}
else
{
echo "No enviaste ningun valor ACEPTABLE";
}
}
else
{
echo "No se a enviado valor alguno de peticion";
}
?>
  #12 (permalink)  
Antiguo 11/05/2006, 13:03
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
pues copie eso y no funciono!!!
no se si es que soy muy bruto o que!!!?????

me podrias dar el ejemplo lo más completo posible por favor!????

Y para que tengas en cuenta no se absulutamente nada de XML!!!!

De antemano muchas gracias!!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #13 (permalink)  
Antiguo 11/05/2006, 13:14
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
Además otra cosa!
mirando el codigo!!!! pues.........
alert es simplemente un ejemplo de lo que quiero hacer!!!!!

Mira vamos por pasos a ver si me comprenden mejor y me pueden ayudar mejor!!! ??????

1. en la página principal hago clic en un link "X"
2. al hacer clic en este link, activa una consulta que se realiza por medio de AJAX al servidor
3. en el servidor se genera una respuesta asi:
<?php
bla bla bla bla .........
echo "<script>alert('HOLA MUNDO');</script>";
?>
4. ese echo se trae por medio de AJAX a la página de donde se hizo la consulta, osease la página que el usuario está mirando.
5. y la pregunta es!!!! ¿¿como ejecuto ese alert que se generó como respuesta a una consulta "Y"?? bien puede ser un alert o una "X" cantidad de lineas de codigo en JavaScript y que no se activen a un evento sino que una ves que se generó la respuesta se active inmediatamente despues de ser cargada por AJAX?????

Espero que ahora si me comprendan!!!! y muchas gracias a quien me pueda ayudar!!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #14 (permalink)  
Antiguo 12/05/2006, 05:48
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 19 años, 4 meses
Puntos: 1
variable = ajax.responseText;
eval(variable);

Por cierto lo que puse en el post anterior no bastaba con copiar y pegar, era simplemente un ejmplillo para que te orientases de como era pero le faltaba codigo para que funcionase.
  #15 (permalink)  
Antiguo 15/05/2006, 14:44
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 20 años, 2 meses
Puntos: 2
De acuerdo

Cita:
Iniciado por zekenet
variable = ajax.responseText;
eval(variable);

Por cierto lo que puse en el post anterior no bastaba con copiar y pegar, era simplemente un ejmplillo para que te orientases de como era pero le faltaba codigo para que funcionase.
Perdon por responder algo tarde pero era que no habia podido antes!!!!

Muchas gracias eso era lo que estaba buscando!!!!!!

Claro que hay que aclara algo para que este ejemplo funcione
<?php
bla bla bla bla .........
echo "<script>alert('HOLA MUNDO');</script>";
?>
hay que ponerlo asi:
<?php
bla bla bla bla .........
echo "alert('HOLA MUNDO');";
?>
Y listo, Muchas gracias!!!!
Y por ultimo una ultima pregunta!!! que es más rapido???? los iframes o el objeto de JavaScript??? el tal AJAX!!!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #16 (permalink)  
Antiguo 12/07/2006, 11:30
 
Fecha de Ingreso: julio-2006
Mensajes: 12
Antigüedad: 18 años, 4 meses
Puntos: 1
Desacuerdo ajax - javascript

hola, tengo el mismo problema y no entiendo como lo solucionaste.

mi caso es el siguiente

pagina padre:
<html>
bla bla bla
<div id="contenido"></div>
</html>

pagina cargada por ajax(ningun lenguaje especifico solo html):
<table .....>
bla bla bla(todo html nada mas)
</table>
bla bla...
<script>[aca va el script que qiero ejecutar]alert('x');</script>

y lo cargo de la siguiente manera:

contenido=document.getElementById('contenido');
contenido.innerHTML = o.responseText;

pero el script no lo ejecuta. intente con:

contenido.innerHTML = eval(o.responseText);

...pero nada.

alguna solucion???
  #17 (permalink)  
Antiguo 12/07/2006, 11:31
 
Fecha de Ingreso: julio-2006
Mensajes: 12
Antigüedad: 18 años, 4 meses
Puntos: 1
perdon pero la fecha es vieja pero si logras ayudarme te voy a re agradecer.

saludos
  #18 (permalink)  
Antiguo 12/07/2006, 17:55
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 9 meses
Puntos: 3
Lo q puedes hacer es cuando vayas a cargar la funcion de AJAX.. la q carga pagina externa..... ponerle la llamada a la funcion JS q deseas llamar... yo lo he hecho asi, y ha funcionado:
cuando el estado de ajax se = a 4:
Código PHP:
if (ajax.readyState==) {
                            
contenedor.innerHTML ajax.responseText;
                            
//Aqui llamar a tu JS

                           
tu_funcionJS();

                            } 
Espero te sirva..
Saludos..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #19 (permalink)  
Antiguo 14/07/2006, 02:39
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 20 años
Puntos: 0
Pero con esa solución que plantea B** deberías tener una función para cada ajax que cargases, cosa que no es muy recomendable.

Yo trato de evitar la necesidad de lanzar javascript nada más que se ha cargado el AJAX, pero sí me interesaría saber más sobre su tratamiento mediante el responseXML; de tal manera que se pudiera incluir en un nodo el javascript necesario.

Un saludo
  #20 (permalink)  
Antiguo 14/07/2006, 05:57
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 3 meses
Puntos: 2
Revisen este POST posiblemente les resulte útil: http://www.forosdelweb.com/showpost....83&postcount=7 y también http://www.forosdelweb.com/showpost....46&postcount=5 en el caso que quieran agregar estilos CSS.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #21 (permalink)  
Antiguo 14/07/2006, 06:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 20 años
Puntos: 0
Veo algunos problemas en la solución del primer enlace del post de zaqpz:

1.- El archivo que cargases mediante AJAX debería contener única y exclusivamente javascript. Nada de HTML.

2.- Si cargas muchas páginas de un site por ejemplo mediante ese método, el <HEAD> de la página principal se iría sobrecargando con el javascript de cada página cargada con AJAX.

Aquí remito un topic en el que planteé ese mismo problema, y encontré una solución. Es muy parecida, sólo que antes elimino los scripts de la cabecera de la página principal.
http://www.forosdelweb.com/f127/combos-enlazados-javascript-pagina-cargada-344878/

La solución que encontre esta en el post nº9

Un saludo.
  #22 (permalink)  
Antiguo 14/07/2006, 06:30
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 3 meses
Puntos: 2
Cita:
Iniciado por PosDon
1.- El archivo que cargases mediante AJAX debería contener única y exclusivamente javascript. Nada de HTML.
Si lo que recibes es una mezca de HTML con JavaScript la idea en ese caso es recibir un XML en el cuál puede haber dos nodos; se parsean y los colocas lo de JS en <script> y lo de HTML donde corresponda.

Cita:
Iniciado por PosDon
2.- Si cargas muchas páginas de un site por ejemplo mediante ese método, el <HEAD> de la página principal se iría sobrecargando con el javascript de cada página cargada con AJAX.
Uhmm ¿tantos scripts debes traer? Yo creo (sólo creo) que en ese caso debe haber otra solución algo más eficiente que andar trayendo tanto volúmen de JavaScript. Todas las soluciones que fueron apareciendo en este POST son válidas; habría que analizar cuál de ellas resulta óptima para lo que tú deseas desarrollar.

Saludos!
__________________
R4DS en español | R4DS en inglés

Última edición por zaqpz; 14/07/2006 a las 15:41
  #23 (permalink)  
Antiguo 14/07/2006, 10:28
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 9 meses
Puntos: 3
Cita:
Iniciado por PosDon
Pero con esa solución que plantea B** deberías tener una función para cada ajax que cargases, cosa que no es muy recomendable.

Con una sola funcion basta.. puedes validar dentro de la funcion de ajax... eventos.. y si se cumplen pues mandar llamar una funcion..Pero si, no es muy ortodoxo..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
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

SíEste tema le ha gustado a 1 personas




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