En vez de hacer eval, sería mejor crear un elemento tipo script y a esta darle un innerHTML con el script que deseas ejecutar, finalmente lo insertas en el body y se evaluará tu script.
Ejemplo:
Código Javascript
:
Ver originalvar script = document.createElement("script");
script.innerHTML = "alert(1)";
document.body.appendChild(script);
Pero en definitiva yo me iría a lo que dice zerokilled, es mejor recibir un estado o valor que índique que hacer en vez de recibir un script que evaluar.
Ya si es necesario recibir varios estados o valores hay que utilizar JSON.
Ejemplo
En tu archivo PHP que recibe la petición (php.php):
Código PHP:
Ver original<?php
"estado" => 0,
"mensaje" => "Hola mundo!",
"funcion" => "miFuncion",
);
// '{"estado" : 0, "mensaje" : "Hola mundo!", "funcion" : "miFuncion"}'
En tu archivo que hace la petición:
Código HTML:
Ver original var misFunciones = {
miFuncion: function(msj){alert(msj);},
miOtraFuncion: function(){/*...*/}
};
$.get("php.php", function(stringJSON){
var resultado = $.parseJSON(stringJSON);
// Aquí ya puedes obtener los valores de "resultado" como las propiedades de un objeto
if ( ! resultado.estado ) {
misFunciones[resultado.funcion](resultado.mensaje);
}
});
Observa :), saludos!