2008-10-23 71 views
1

我目前正在建立一個小網站,其中主div的內容通過Ajax調用進行填充。我基本上有一個PHP腳本,返回類似這樣的內容:通過ajax echo命令包含html的最佳方式是什麼?

(簡體PHP腳本......)


if(isset($_POST["id_tuto"])){ 
    PrintHtml($_POST["id_tuto"]); 
} 

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

該網頁然後得到從echo命令文本,並替換的內部HTML內容分區。

我的問題是:什麼是回聲的HTML內容的最佳方式是什麼?每次都有很多內容,因爲它是一步一步的教程。每個字符串將大約50-80行的HTML代碼。有沒有辦法把HTML內容放在一個單獨的html文件中,並且回顯該文件或...?

非常感謝!

回答

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

您只需按照通常生成HTML頁面的方式進行操作,但不包含在HTML HEAD或BODY標記中。這只是將添加到您的網頁的HTML片段。

「回聲」的一切都成爲輸出的一部分。你可以一次完成一件或一件事,不要緊,因爲它將調用作爲「響應」發送到瀏覽器,而不管怎樣。

+1

mmmm ...也許我的問題並不清楚。我只是想知道是否有更好的方式比寫回聲「<我的所有大的HTML內容>」... – karlipoppins 2008-10-23 20:42:54

0

您應該使用模板系統,如Smarty。這將允許你保持你的html與你的代碼邏輯分開。

0

嘗試從格式(HTML)中分離數據(人類可讀的文本)我懷疑可以分隔50-80行HTML。您可以創建多個HTML模板,然後根據需要將數據添加到模板中。我肯定會使用Prototype或一些JavaScript庫來處理在客戶端接收JSON格式的數據。您可以將數據存放在平面文件中,但我認爲數據庫會更快,更不容易出錯。 MVC模式在這裏肯定會有幫助。

相關問題