如何通过 AJAX 从 PHP 文件返回 JavaScript


How to return JavaScript from PHP file through AJAX?

怎么做?

  1. 我们有带有onclick事件的按钮,它使用AJAX将查询发送到PHP文件。
  2. PHP 文件有这个 JavaScript: echo '<script>alert("hello");</script>';
  3. 当按下点击事件按钮时,JavaScript 不起作用。我没有看到"你好"消息。

有人知道如何从PHP执行JavaScript吗?我正好需要这个。我知道所有的JavaScript都应该在AJAX级别执行。但是这种情况需要执行一个JavaScript,PHP作为响应返回。

此致敬意

你不能从PHP执行Javascript,因为PHP在服务器端执行,而JS在客户端执行。您需要在客户端eval返回的 Javascript 代码。

您可以在 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);
        }
    })
});

Eval 可以工作,但要小心。

如果用户生成的内容可以进入您的 eval 语句,有人可能会使用它为您的网站创建恶意脚本。

只是抬头。

考虑一个像这样的JavaScript:

"alert('"hello'");"

像这样返回:

var js = ajax.r;

只需做:

eval(js);

但在我看来,你有一个非常严重的架构问题。