3

这个怎么做?

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

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

此致

4

3 回答 3

3

您不能从 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);
        }
    })
});
于 2012-05-15T21:30:59.433 回答
0

考虑一个像这样的javascript:

"alert(\"hello\");"

像这样返回:

var js = ajax.r;

只需执行以下操作:

eval(js);

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

于 2012-05-15T21:28:54.747 回答
0

评估会起作用,但要小心。

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

只是一个抬头。

于 2012-05-15T21:44:07.367 回答