代码之家  ›  专栏  ›  技术社区  ›  Gad

通过ajax echo命令包含html的最佳方式是什么?

  •  1
  • Gad  · 技术社区  · 16 年前

    我目前正在构建一个小型网站,其中主div的内容通过Ajax调用填充。我基本上有一个php脚本,它返回如下内容:

    (简化的php脚本…)

    
    if(isset($_POST["id_tuto"])){
      PrintHtml($_POST["id_tuto"]);
    }
    
    function PrintHtml($id)
    {
      switch($id)
      {
        case [...]:
          echo "THIS IS MY HTML CONTENT";
        break;
        [...]
      }
    }
    
    

    我的问题是:回应html内容的最佳方式是什么?每次都有很多内容,因为这是一个循序渐进的教程。每个字符串大约有50-80行HTML代码。有没有办法将html内容放在一个单独的html文件中,并回显该文件或。。。?

    4 回复  |  直到 16 年前
        1
  •  2
  •   SystemParadox    8 年前

    你可以这样做:

    <?php
        function PrintHtml($id) {
          switch($id) {
              case [...]:
    ?>
          <h1>Tut page 1</h1>
          <p>this is html content.</p>
    <?php
          break;
          [...]
        }
      }
    ?>
    

    或许:

    <?php
      function PrintHtml($id) {
         switch($id) {
          case [...]:
          include 'section1.php';
          break;
          [...]
        }
      }
    ?>
    
        2
  •  0
  •   Diodeus - James MacFarlane    16 年前

    您“回音”的所有内容都将成为输出的一部分。你可以一次完成一部分或全部,这并不重要,因为它调用会作为“响应”作为一个块发送到浏览器。

        3
  •  0
  •   pkaeding    16 年前

    您应该使用模板系统,例如 Smarty . 这将允许您将html与代码逻辑分开。

        4
  •  0
  •   Clutch    16 年前

    尝试将数据(人类可读的文本)与格式(HTML)分离。我怀疑50-80行HTML可以分离。您可以创建几个HTML模板,然后根据需要将数据添加到模板中。我肯定会使用Prototype或一些JavaScript库来处理在客户端接收JSON格式的数据。您可以将数据放在平面文件中,但我认为数据库会更快,更不容易出错。MVC模式在这里肯定会有所帮助。