Puedes traer tu alert o incluso definir funciones JavaScript en tu archivo procesador si cuando recibes esos datos en tu archivo "llamador" creas una nueva etiqueta <script> en el head y colocas todo dentro de ella. A continuación les dejo un simple ejemplito (bastante inútil, pero lo hice con el objetivo de que se entienda lo que digo) que trae un alert y una función encargada de cambiar el color de fondo de la página principal:
test.php
Código:
<html>
<head>
<script type="text/javascript">
<!-- Crear clase AJAX a gusto llamandola nuevoAjax() -->
function traeScript()
{
ajax=nuevoAjax();
ajax.open("POST", "test2.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("trae=1");
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Aqui es donde creo la etiqueta script y coloco los datos que me llegan dentro de ella. Luego agrego esa etiqueta al head
nuevoScript=document.createElement("script");
nuevoScript.text=ajax.responseText;
document.getElementsByTagName('head')[0].appendChild(nuevoScript);
}
}
}
</script>
</head>
<body>
<a href="javascript:traeScript();">Trae script</a>
<br>
<a href="javascript:ejecutaScript();">Ejecuta script</a>
</body>
</html>
test2.php
Código:
<?php
if($_POST["trae"]==1)
{
echo "
alert('Script traido y funcional');
function ejecutaScript()
{
document.body.style.backgroundColor='#FF0000';
}";
}
?>
Fijense que si intentan ejecutar el script antes de traerlo mediante los links correspondientes este no se ejecutará, ya que no existe. En el caso de solo intentar traer un alert, obteniendo la respuesta mediante el eval de JavaScript sería mas que suficiente.
Espero que esto responda sus cuestiones.
Saludos.