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$respuesta_ajax = [
"Objeto_1" => [
"clave1_1" => "function(){console.log('ok clave1_1')}",
"clave2_1" => "<div>Prueba 2_1</div>"
],
"Objeto_2" => [
"clave1_2" => "function(){console.log('ok clave1_2')}",
"clave2_2" => "<div>Prueba 2_2</div>"
]
];
Código Javascript
:
Ver originalvar Objeto_global = {};
var recibido_ajax = <?php echo json_encode($respuesta_ajax); ?>;
$.each(recibido_ajax,function(clave){
Objeto_global[clave] = {};
$.each(this,function(subclave){
if(this.indexOf('function') > -1){
Objeto_global[clave][subclave] = eval(''+this); //aqui salta el error
}else{
Objeto_global[clave][subclave] = ''+this;
}
});
});
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