javascript - 无法在 <script> 标签内回显 PHP 变量?

标签 javascript php html json

<分区>

这是我的 PHP 代码。我希望使用警报窗口显示错误。

 if ($projectid=="")
  {
    $error = 'You must choose a project.
              Click &lsquo;back&rsquo; and try again.';
    include error.html.php';
    exit();
  }

这是应该被浏览器解析的error.html.php

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Script Error</title>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">


    </head>

    <body>

         <script> 
             var error = <?php echo   $error ; ?>;
              window.onload = function(){ alert(error); }
         </script>
    </body>
</html>

脚本标签怎么了?它们会阻止 PHP 运行吗?

最佳答案

真正的问题是你的渲染结果看起来像这样:

var error = You must choose a project.
            Click &lsquo;back&rsquo; and try again.

对您来说,这看起来像是有效的 JavaScript 吗?我认为不是。

var error = <?=json_encode($error);?>;

这应该导致:

var error = "You must choose a project.\r\n                 Click &lsquo;back&rsquo; and try again.";

好多了。

关于javascript - 无法在 &lt;script&gt; 标签内回显 PHP 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253791/

相关文章:

html - 带有 flex 的表格布局,带有完整的问题

javascript - 无法使用 Javascript/Jquery 动态检查单选按钮

javascript - React router V4 - 交换机在生产中未渲染

javascript - Jquery - 无法让嵌套 div 的选择器进行动画处理?

javascript - jquery 仅在一个类中显示更多函数目标 p 标签

php - Laravel 配置强制 https

javascript - 检查鼠标在屏幕中的位置

php - 向文本区域添加文本格式

php - 当 AJAX 调用不同的编码页面时实际发生了什么?

javascript - 如何提高 Html5 Canvas 路径质量?