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

Problema imprimiendo javascript desde ajax (algo retorcido)

Estas en el tema de Problema imprimiendo javascript desde ajax (algo retorcido) en el foro de Frameworks JS en Foros del Web. Hola, Tengo un ajax que genera diferentes salidas, una de ellas es un javascript que muestra un código determinado que saca desde otro servidor, pero ...
  #1 (permalink)  
Antiguo 29/07/2009, 12:57
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años, 8 meses
Puntos: 0
Problema imprimiendo javascript desde ajax (algo retorcido)

Hola,

Tengo un ajax que genera diferentes salidas, una de ellas es un javascript que muestra un código determinado que saca desde otro servidor, pero el ajax no puede sacármelo. Sería algo así lo que ha de sacar:


<script language="javascript"> var uri = 'http://impes.webexterna.com/imp/img/?' + new String (Math.random()).substring (2, 11); document.write('');
etc etc


La cosa es que no lo imprime...

¿tiene arreglo?
  #2 (permalink)  
Antiguo 30/07/2009, 08:03
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Problema imprimiendo javascript desde ajax (algo retorcido)

Hola

¿Has probado esto?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 30/07/2009, 09:51
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Problema imprimiendo javascript desde ajax (algo retorcido)

Voy a probarlo, gracias
  #4 (permalink)  
Antiguo 31/07/2009, 09:50
 
Fecha de Ingreso: julio-2009
Mensajes: 81
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Problema imprimiendo javascript desde ajax (algo retorcido)

prueba meter tus cosas en una funcion... en el head preferiblemente... y luego en el body la llamas con el action, submit onclick... entre otros en algun elemento....


<script type='text/javscript'>

function xxx() {
var uri = 'http://impes.webexterna.com/imp/img/?' + new String (Math.random()).substring (2, 11);
alert(uri);
document.write('');
}

</script>


(el alert es para probar que los datos estan bien)
////////////////

<form action="javascript:xxx();">
<input type="submit" value=Go />
</form>
  #5 (permalink)  
Antiguo 31/07/2009, 12:52
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 76
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema imprimiendo javascript desde ajax (algo retorcido)

a ver sin poner los hipervínculos... tampoco. Los enlaces son los que están en negrita , la falta poner delante el hachetetepe : //

Si es posible hacerlo, estoy escribiendo una información de tallada en esta dirección

aredsc.net/formacion-y-desarrollo/programacion/soluciones/79-ejecutar-javascript-dentro-de-ajax


Sin embargo podéis ver el ejemplo y el código fuente, es fácil de entender sin mucha explicación.
La clave está en la función javascript eval() de forma que la cadena de texto devuelta la interpreta como javascript.

se puede llamar desde ajax a un .js o si se hace a un .php hay que tener cuidado ya que el javascript ha de ser devuelto como si se escibiera en un .js , sin las etiquetas <script> y tener cuidado con las restircciones que nos pueda poner eval como salvar comillas, y quizás algo más.

El ejemplo devuelve document.write y alert llamada desde una funcion que el navegador ejecuta sin problemas


Espero que te sirva.

El enlace del ejemplo y el codigo fuente es este ->

manuales.aredsc.net/ejemplos/ajax/ejecutar-javascript-dentro-de-ajax.php


EDITO EL MENSAJE

Solucionado, el tema es que explorer solo permite hacer un document.write()

por lo que habría que ir construyendo la salida y hacer el document.write con todo el contenido, otra forma sería usar document.getElementById().innerHTML o cualquier otro método.


Aunque veo que por ahí arriba pusieron un enlace de un solucion similar que usa execScript(), que no conocía, yo lo hice con eval().

Bueno, el tema es que puede hacerse fácilmente, sólo hay que adaptarlo a las necesidades como limpiar los tag script en caso de que venga con ellos o a las de cada uno en particular.

también sirve para cargar archivos js haciendo la llamada al script.js desde ajax ajax.open('GET','archivo.js',true) y metiendo el resultado en eval(), a partir de ahí a necesidad de cada uno.

Última edición por aredsc; 01/08/2009 a las 10:42
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 19:43.