0

我使用 getJson() 函数通过 php 从服务器动态检索内容。代码是这样的:

function loadContent(url){
        $.getJSON("content.php", {cid: url, format: 'json'}, function(json) {
                $.each(json, function(key, value){
                    $(key).html(value);
                });
            });
        }

content.php 从 mysql 获取一些数据并生成一个数组并将其编码为 json 格式数组,然后使用 JavaScript 在 main_page.html 中打印它。我想要做的是 content.php 的输出是一个字符串(或数组中的一行)和 html 代码(结合来自 mysql 的数据)。因为我不想只打印一个数组。例如,我希望 content.php 输出是这样的:

<div id="content">
  <div id="one">
  some html code combined with data from mysql.
  </div>
  <div id="two">
  some html code combined with data from mysql.
  </div>
  .
  .
  .
</div>

并将所有这些都打印<div id="main"> ..output of content.php.. </div>在 main_page.html 中。所以 json 函数根本不需要循环这段代码 $.each(json, function(key, value){ $(key).html(value);} 并打印一次。

4

1 回答 1

0

如果我理解正确,那么您可以使用 $.get() 来达到预期的结果。

function loadContent(url){
    $.get( "content.php", {cid: url}, function( data ) {
        $( "#content" ).html( data );
    });
}

并修改您的 content.php 以返回纯 html 而不是 json 编码数据。

<?php
$stmt = $dbh->prepare("SELECT name FROM items");
$stmt->execute();
$result = $stmt->fetchAll();
$i = 1;

foreach($result as $item) {
    echo '<div id="item' . $i . '">' . $item['name'] . '</div>';
}
?>
于 2013-10-22T13:03:28.443 回答