【问题标题】:Can I add a javascript alert inside a PHP function? If yes, how? [duplicate]我可以在 PHP 函数中添加 javascript 警报吗?如果是,如何? [复制]
【发布时间】:2011-05-13 21:03:50
【问题描述】:

可能重复:
How to call a JavaScript function from PHP?

我可以在 PHP 函数中添加 javascript 警报吗?如果是,怎么做?

【问题讨论】:

  • 我发誓我看到了一个骗子......
  • 哦没看到!我现在该怎么办,关闭或删除还是什么?
  • 此外,根据围绕这篇文章的讨论,您真正想要的是将 firefox 与 firebug 插件一起使用。然后,您在有问题的此页面上打开 firebug 并确保控制台已启用。然后,您将回声添加到您的 PHP。当调用 AJAX 时,控制台中会出现一个小玩意儿,您可以在那里查看响应,其中将包含您所有的回显信息。

标签: php javascript


【解决方案1】:

是的,您可以,但我100% 保证这不是您想要的或您的意思

<?php
    function do_alert($msg) 
    {
        echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
    }
?>
<html><head><title>Hello</title></head>
<body>
<h1>Hello World, THis is my page</h1>
<?php
    do_alert("Hello");
?>
</body>
</html>

浏览器运行 Javascript,服务器运行 PHP。

您还可以从您的服务器回显 Javascript(不包含 HTML),然后通过动态创建包含该 Javascript 的 &lt;script&gt; 标记将该脚本包含到您的页面中。这本质上是动态创建 Javascript 以使用正确的标题等注入您的页面。

如果你想跟踪一些 PHP 脚本的执行,那么你可以使用 trigger_error() 创建一个日志条目,或者你可以编写一个 trace() 函数来将字符串存储在缓冲区中并将它们添加到页面中。

如果您想跟踪 Javascript,请参阅 Firebug for Firefox。

PHP Headers API Documentation
On-demand Javascript at Ajax Patterns

【讨论】:

  • 有一些javascript代码调用另一个文件中的其他PHP代码。我想跟踪这个 PHP 代码并在运行时查看它。这就是我想要的。这个想法听起来正确吗?
  • 不 - Ajax 请求只会返回最终结果,中间不会返回任何内容(如果您考虑在不同阶段发出警报)
  • Javascript 不能直接调用 PHP,Javascript 只能通过 URL 调用 PHP。
  • 我认为他正在尝试使用 Javascript 警报调试他的 php 代码,如果这样可以清除任何问题的话。
  • 对调试非常有用,干杯!
【解决方案2】:

假设您的意思是当服务器到达您的 php 代码中的某个点时,您希望从浏览器中弹出警报,答案是否定的。

当服务器正在运行您的 php 代码时,不会与浏览器联系(直到响应开始返回)。在某些情况下,服务器可能会将内容流式传输回浏览器,在这种情况下,可能会有一些商定的约定让服务器使用要立即发出警报的消息来标记内容流,但是我不认为这就是你在这里要问的。

【讨论】:

  • 这就是我的意思。谢谢!
  • 那么你应该选择它作为正确答案:)
  • 但是有一些答案说这是可能的!还是我没有正确理解?
  • php 代码可以生成一个 HTML 页面,当它到达浏览器并且浏览器已经解释它时,会显示一个警报。如果您试图在服务器正在处理您的 php 代码时发出警报,那么这是不可能的。如果等到服务器端的php代码完全完成才可以看到“alert”,那么就可以了。
【解决方案3】:

是的,你可以。

echo "<script>alert (\"js inside php\")</script>";

【讨论】:

  • 哦哦!没有人要求更多的背景或解释。不好的评论:D
【解决方案4】:

解释; PHP 在服务器上编译,结果是纯 HTML。因此,编译时不会出现警报等是一个静默过程。

如果你想在 PHP 生成的 HTML 中显示警报;

<?php
   echo '<script type="text/javascript"> alert(\'Hi\'); </script>
?>

【讨论】:

    【解决方案5】:

    是的,如果您将带有 alert 的 Javascript 代码从 PHP 发送到 html 页面。

    不,如果您只想通过执行服务器端代码而不是将 JS 发送到客户端浏览器来调用 alert

    【讨论】:

    • @Ahmad:见 Rhapsody 的回答
    • 您的响应 HTML 代码可以包含产生警报的 Javascript 代码,但在您的 php 代码完成很久之后您才会看到警报。
    【解决方案6】:
    echo "<script type='text/javascript'>alert('alert text goes here');</script>";
    

    但我不知道它有什么用处,因为它只能在客户端工作。如果您想调试您的代码,您可以简单地将其打印在屏幕上,但如果您使用警报,请注意引号,因为它们会破坏 javascript 部分。

    【讨论】:

      【解决方案7】:

      您至少可以通过两种方式在 PHP 函数中输出 Javascript alert():

      A) 归还:

      function sendAlert($text) {
          return "<script type='text/javascript'>alert('{$text}');</script>";
      }
      

      B:直接输出:

      function echoAlert($text) {
          echo "<script type='text/javascript'>alert('{$text}');</script>";
      }
      

      【讨论】:

        猜你喜欢
        • 2018-07-06
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-01
        • 2010-11-07
        • 2020-10-08
        • 1970-01-01
        相关资源
        最近更新 更多