/ / Como retornar JavaScript do arquivo PHP através do AJAX? - php, javascript, ajax

Como retornar JavaScript do arquivo PHP através do AJAX? - php, javascript, ajax

Como fazer isso?

  1. Temos botão com evento onclick, que envia uma consulta usando o arquivo AJAX para o PHP.
  2. O arquivo PHP tem este JavaScript: echo "<script>alert("hello");</script>";
  3. Ao pressionar o botão de evento onclick, o JavaScript não funciona. Eu não vejo uma mensagem "olá".

Alguém sabe como executar JavaScript dePHP? Eu preciso exatamente desse. Eu sei que todo JavaScript deve ser executado no nível AJAX. Mas a situação exige a execução de um JavaScript, que o PHP retorna como resposta.

Cumprimentos

Respostas:

3 para resposta № 1

Você não pode executar Javascript do PHP desde que o PHP seja executado no lado do servidor enquanto JS no lado do cliente. Você precisa eval o código JavaScript retornado no lado do cliente.

Você pode fazer isso em sua função de retorno de chamada AJAX:

$("#yourButton").onclick(function(){
//make your ajax request
$.ajax({
url : "url",
success : function(resp){
//resp is the javascript code sent back from PHP
//eval it
eval(resp);
}
})
});

0 para resposta № 2

Eval vai funcionar, mas tenha cuidado.

Se o conteúdo gerado pelo usuário puder entrar na sua declaração eval, alguém poderá usá-lo para criar um script mal-intencionado para o seu site.

Apenas um heads up.


0 para resposta № 3

Considere um javascript como:

"alert("hello");"

Retornar assim:

var js = ajax.r;

E apenas faça:

eval(js);

Mas parece-me que você tem um problema de arquitetura muito sério.