【问题标题】:PHP Embedded in Javascript嵌入在 Javascript 中的 PHP
【发布时间】:2010-10-10 07:23:45
【问题描述】:

在我的项目中我有这样的情况。

<script language="JavaScript">
function fonsubmit()
{
    alert('Out side PHP');
    //Here the php code starts 
    include("customerpage.php");
    $cc="us";
    $clang="en";
    $cpath="us"; 
    some coding goes here......
    Php ends here
}
</script>

但它显示对象预期错误。这有什么问题?但我只给出 PHP 标签它不会产生任何错误。请帮我找出这个问题,在此先感谢...

【问题讨论】:

  • 请使用正确的格式。
  • 感谢格式化,这是我所期待的

标签: php javascript


【解决方案1】:

您正在尝试将基于服务器的语言嵌入到基于客户端的语言中。 这行不通。

如果您能多解释一下您想要实现的目标,可能会有更好的解决方案,例如 AJAXie 类型的东西。

让我再解释一下,因为其他人已经给出了可以放在这里的答案。

您可以将php 嵌入到您的*.php 文件中,这些文件将在服务器上解释并在那里解析。使用它,您可以设置 javascript 稍后可以获取并在客户端使用的变量。就像我说的那样,尽管客户端没有用于解释和解析 php 的路由,因此将 php 发送给用户是行不通的。

但是,如果您试图让事情正常工作,以便您的 php 设置一些 javascript 值,那么我会像 Gary Willough 和 Tudor Olaru 一样,添加 php 标签

<?php
... PHP CODE...
?>

但是,您必须意识到这将在服务器上而不是在客户端上进行解释。因此,下面的代码会先用“outside php”然后再用“inside php”发出警报。

<script language="JavaScript">
function fonsubmit()
{
   alert('outside php');
   <?php
     $message = "inside php";
     echo "alert('$message');";
   ?>
}
</script>

然后发送给用户的 html 将是

<script language="JavaScript">
function fonsubmit()
{
   alert('outside php');
   alert('inside php');
}
</script>

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我不知道 JavaScript,但 JS 是一种客户端语言,这意味着当您的网页用户查看它时,它会在网络浏览器中进行评估。 PHP 是一种服务器端 语言,这意味着它在托管您网页的计算机上进行评估。您的浏览器无法评估 PHP 代码。 所有 PHP 必须在服务器上完成。您必须无条件地评估 PHP,否则根本无法评估 PHP。然后使用 JavaScript 选择你想要显示的 PHP 输出的哪一部分——这将达到我认为你想要的效果。

    【讨论】:

      【解决方案3】:

      您缺少 php 开始和标签:

      function fonsubmit() 
      { 
          alert('Out side PHP'); 
          //Here the php code starts 
      
          <?php
          include("customerpage.php"); 
          $cc="us"; 
          $clang="en"; 
          $cpath="us"; 
          //Php ends here 
          ?>
      }
      

      请注意,在您的 javascript 启动之前,您的 php 代码将在服务器上执行

      【讨论】:

      • 我输入的和上面一样,但是显示错误'objected expected'...
      • 你应该看看 customerpage.php 做了什么,然后,因为它可能会输出一些无法进入 Javascript 函数的内容...
      • 我相信 PHP 脚本会输出 javascript,因为它嵌套在 javascript 函数中。我认为问题不在于 php 本身。检查你渲染页面的源代码,你会看到语法错误。
      【解决方案4】:

      另一种方法是在 PHP 中显示 Javascript。不是将 PHP 放在 Javascript 中,而是将 Javascript 放在 PHP 中。例如,您可以这样做:

      <?php
      echo '<script language="JavaScript">
      function fonsubmit()
      {
         alert("outside php");
      ';
      
         // here is where you insert your PHP code
         include("customerpage.php");
         $cc="us";
         $clang="en";
         $cpath="us"; 
      
      echo '
      }
      </script>';
      ?>
      

      诚然,回显 Javascript 逻辑并不好读。您还可以做的是通过回显它来指定 Javascript 的开始,

      <?php
      echo '<script language="JavaScript">';
      ?>
      

      然后正常插入所需的 Javascript。每当您想插入 PHP 代码时,请用 标记将其包围。

      【讨论】:

        【解决方案5】:

        PHP 应该包含在正确的 php 标签中:

        <?php include("customerpage.php"); $cc="us"; $clang="en"; $cpath="us"; ?>
        

        确保您的页面具有 *.php 扩展名并在安装了 PHP 的服务器上运行。

        【讨论】:

        • 如果我这样输入它不会显示,那就是我输入 n 这样显示
        • @sakthiopr - 您需要将其作为代码输入,即使用 backticks 或将代码缩进 4 个空格,以便它显示为代码。
        猜你喜欢
        • 2013-09-08
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 2014-05-02
        • 2011-03-22
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多