0

我有一个 js 函数将 get 请求传递给 php 文件以获取所选记录的 db 值。js控制台中get请求url报告正确,sql正确。

我该怎么做,但我不确定如何更新 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']
        ));
    }
}
4

1 回答 1

0

Twig 模板已经在服务器上进行了“预处理”。如果您尝试更新 DOM,只需从您的 GET 请求中返回 JSON 数据并使用它重置 HTML 容器元素。

如果您尝试永久更新 Twig 模板,则必须在数据库记录中更新它。当然,这意味着将您的模板存储在数据库表中。或者直接从 PHP 写入文件。

于 2013-08-27T03:00:54.113 回答