【问题标题】:Calling PHP from document.ready从 document.ready 调用 PHP
【发布时间】:2012-02-10 20:45:14
【问题描述】:

文档中是否有方法可以调用 php 脚本?

我想做这样的事情。

<script>
    $(document).ready(function($) {

    <?php require("readenglish.php"); ?>
    <?php require("readfrench.php"); ?>
    <?php require("readspanish.php"); ?>
    <?php 

    $opload = $_GET['opload'];
    if ($opload == "reade") {

    }
    else if ($opload == "readf") {

       echo "<script type=\"text/javascript\">\n";

       echo "document.f1.r1[0].checked = false;\n";
       echo "document.f1.r1[1].checked = true;\n";
       echo "SelectRead();\n";

       echo "</script>";

    }

    ?>

    });

</script>

三个 php 脚本创建 div 并从外部域 php 脚本向它们添加信息。

【问题讨论】:

  • 你必须知道你不能像那样使用javascript和php。 PHP 总是首先解释(在服务器端运行),而 javascript 由浏览器解释。
  • PHP 是服务器端,JavaScript 是客户端。 PHP 生成一个您的浏览器呈现的页面。您可以使用 AJAX 让 JavaScript 与 PHP 页面对话以获取脚本。

标签: php javascript document-ready


【解决方案1】:

您正在混合客户端和服务器端,那里没有接口。您将不得不使用$.ajax 从 php 脚本中提取内容并相应地更新您的 DOM。

当然...您也可以以合理的方式设计您的网站。这种方法充其量看起来很可疑,而且几乎肯定有一个更好的、专门的服务器端解决方案。

【讨论】:

    【解决方案2】:

    你可以在你的页面中做这样的事情:

    $(document).ready(function($) {
       $('#result').load('test.php', function() {
        alert('Load was performed.');
      });
    });
    

    在服务器上,test.php 包含您的代码:

    <?php require("readenglish.php"); ?>
    <?php require("readfrench.php"); ?>
    <?php require("readspanish.php"); ?>
    <?php 
    
    $opload = $_GET['opload'];
    if ($opload == "reade") {
    
    }
    else if ($opload == "readf") {
    
       echo "<script type=\"text/javascript\">\n";
    
       echo "document.f1.r1[0].checked = false;\n";
       echo "document.f1.r1[1].checked = true;\n";
       echo "SelectRead();\n";
    
       echo "</script>";
    
    }
    

    然后需要将其添加回客户端的 DOM 中。虽然不是很好的设计。

    【讨论】:

      【解决方案3】:

      我会推荐使用 jQuery。他们有一个完全符合您要求的加载方法:http://api.jquery.com/load/

      【讨论】:

        【解决方案4】:
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-08
        • 1970-01-01
        • 2017-03-30
        • 2011-12-10
        • 1970-01-01
        相关资源
        最近更新 更多