No que diz respeito ao PHP (ou realmente, um servidor web em geral), uma página HTML não é nada mais complicada do que uma grande string.
Todo o trabalho sofisticado que você pode fazer com linguagens como PHP - lendo bancos de dados e serviços da Web e tudo mais - o objetivo final final é exatamente o mesmo princípio básico: gerar uma sequência de HTML *.
Sua grande string HTML não se torna nada mais especial do que isso até ser carregada por um navegador da web. Uma vez que um navegador carrega a página, em seguida, todos os outros mágica acontece - o layout, material de modelo de caixa, geração DOM, e muitas outras coisas, incluindo a execução de JavaScript.
Portanto, você não "chama JavaScript do PHP", "inclui uma chamada de função JavaScript na sua saída".
Existem muitas maneiras de fazer isso, mas aqui estão algumas.
Usando apenas PHP:
echo '<script type="text/javascript">',
'jsfunction();',
'</script>'
;
Escapando do modo php para o modo de saída direta:
<?php
// some php stuff
?>
<script type="text/javascript">
jsFunction();
</script>
Você não precisa retornar um nome de função ou algo assim. Antes de tudo, pare de escrever solicitações AJAX manualmente. Você só está dificultando a si mesmo. Obtenha o jQuery ou um dos outros excelentes frameworks existentes.
Em segundo lugar, entenda que você já estará executando o código javascript assim que a resposta for recebida da chamada AJAX.
Aqui está um exemplo do que eu acho que você está fazendo com o AJAX do jQuery
$.get(
'wait.php',
{},
function(returnedData) {
document.getElementById("txt").innerHTML = returnedData;
// Ok, here's where you can call another function
someOtherFunctionYouWantToCall();
// But unless you really need to, you don't have to
// We're already in the middle of a function execution
// right here, so you might as well put your code here
},
'text'
);
function someOtherFunctionYouWantToCall() {
// stuff
}
Agora, se você está decidido a enviar um nome de função do PHP de volta para a chamada AJAX, você também pode fazer isso.
$.get(
'wait.php',
{},
function(returnedData) {
// Assumes returnedData has a javascript function name
window[returnedData]();
},
'text'
);
* Ou JSON ou XML etc.