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

时间:2008-10-23 20:28:08

标签: php html ajax

我目前正在建立一个小型网站,其中主要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;
    [...]
  }
}

然后,网页从该echo命令获取文本并替换内容div的内部html。

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

非常感谢!!

4 个答案:

答案 0 :(得分:2)

你可以这样做:

<?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;
      [...]
    }
  }
?>

答案 1 :(得分:0)

您只需按照通常生成HTML页面的方式执行此操作,但不包含在HTML HEAD或BODY标记中。它只是将添加到您页面的HTML片段。

你“回声”的一切都成为输出的一部分。你可以一次性完成任务,也可以一次性完成,这无关紧要,因为它无论如何都会将调用作为“响应”发送到浏览器。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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