Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Hacer ejecutable funcion recibida por ajax

Estas en el tema de Hacer ejecutable funcion recibida por ajax en el foro de Jquery en Foros del Web. Hola, Tengo un objeto en javascript al que quiero añadir otros objetos recibidos por ajax de los cuales algunos son funciones anonimas javascript No puedo ...
  #1 (permalink)  
Antiguo 22/04/2016, 06:32
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Hacer ejecutable funcion recibida por ajax

Hola,

Tengo un objeto en javascript al que quiero añadir otros objetos recibidos por ajax de los cuales algunos son funciones anonimas javascript

No puedo usar $.extend() (a no ser que no se yo como hacerlo en este caso) porque tengo que emplear eval() para aquellos elementos recibidos que son funciones javascript

Tengo el ejemplo aqui

Código PHP:
Ver original
  1. $respuesta_ajax = [
  2.     "Objeto_1" => [
  3.         "clave1_1" => "function(){console.log('ok clave1_1')}",
  4.         "clave2_1" => "<div>Prueba 2_1</div>"
  5.     ],
  6.     "Objeto_2" => [
  7.         "clave1_2" => "function(){console.log('ok clave1_2')}",
  8.         "clave2_2" => "<div>Prueba 2_2</div>"
  9.     ]  
  10. ];

Código Javascript:
Ver original
  1. var Objeto_global = {};
  2.  
  3.     var recibido_ajax = <?php echo json_encode($respuesta_ajax); ?>;
  4.    
  5.     $.each(recibido_ajax,function(clave){
  6.    
  7.         Objeto_global[clave] = {};
  8.        
  9.         $.each(this,function(subclave){
  10.             if(this.indexOf('function') > -1){
  11.                
  12.                 Objeto_global[clave][subclave] = eval(''+this); //aqui salta el error
  13.                
  14.                
  15.             }else{
  16.                 Objeto_global[clave][subclave] = ''+this;
  17.             }
  18.         });
  19.     });
  20.     console.log(Objeto_global);

Me salta el siguente error: Uncaught SyntaxError: Unexpected token (

¿ Que hago mal ?

¿Que otros modos de hacer lo mismo seran mas indicados?

Gracias
  #2 (permalink)  
Antiguo 22/04/2016, 11:05
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: Hacer ejecutable funcion recibida por ajax

La solucion es esta :
Código Javascript:
Ver original
  1. eval('(' + this + ')')

Etiquetas: ajax, ejecutable, funcion
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 02:14.