2013-08-27 73 views
0

我有一個js函數將獲取請求傳遞給php文件以獲取選定記錄的db值。 get請求url在js控制檯中報告正確,並且sql是正確的。jquery ajax獲取請求後更新小枝模板

我如何但我不知道如何更新dom刷新樹枝模板標籤。有一個更好的方法嗎?

在此先感謝,詹姆斯

JS:

function editCatalogue(id) { 
    var dataString = 'id='+id;   
    $.get('catalogue_db.php', 
     dataString, 
     function(returnData) { 
     showDialog(); 

    });   
}; 

PHP:

if ((isset($_GET)) && ($_GET['id'] !="")) { 

    require_once 'library/twig/lib/Twig/Autoloader.php'; 

    Twig_Autoloader::register(); 
    $loader = new Twig_Loader_Filesystem('templates'); 
    $twig = new Twig_Environment($loader, array('cache' => 'compilation_cache','debug' => true)); 
    $template = $twig->loadTemplate('catalogues.html'); 

    $catid = $_GET['id']; 
    echo $catid; 

    $sql = "SELECT 
     catalogues.id, 
     catalogues.title, 
     catalogues.keywords, 
     catalogues.code_bne, 
     catalogues.description 
     FROM 
     catalogues 
     WHERE 
     catalogues.id = {catid} 
     LIMIT 1 "; 

    foreach ($conn->query($sql) as $row) { 

     echo $template->render(array( 
      'title' => $row['title'], 
      'code_bne' => $row['code_bne'], 
      'description' => $row['description'], 
      'keywords' => $row['keywords'] 
     )); 
    } 
} 

回答

0

樹枝模板已經呈現 「前處理」 的服務器上。如果您嘗試更新DOM,只需從您的GET請求中返回JSON數據並使用該請求重置HTML容器元素。

如果您試圖永久更新枝條模板,則必須在數據庫記錄中對其進行更新。當然,這意味着將您的模板存儲在數據庫表中。或直接從PHP寫入文件。

+0

我修改了這個以產生一個json結果,它作爲{「id」:「1916」,「title」:「test1」,「keywords」:「abc,def,ghi,klmn」,「description 「:」abcdefg「}但jquery接收數組爲空值。 obj = jQuery.parseJSON(returnData);警報(obj.title); – user1542648