如何在一个ajax调用中引入json和html数据

时间:2012-10-23 10:38:09

标签: php jquery html ajax

我有一个两个jquery函数可以将评级和注释与两个文件分开,这些文件正常工作。

现在我想在单个ajax调用中执行此操作,我试图以这种方式将两个函数合并在一起,但它无法正常工作。

jquery的

    function get_review(){
    $.ajax({ 
      type: "POST",
      url: '../review.php',                        
      data: {value1:value1, value2:value2, value3:value3},                        
      dataType: 'json',
      cache: false,              
      success: function(data)          
       {
        var x = data[0];
        var rating = (x-0.5)*2
        var y = (20 * rating)+40;
        $('#urating').css("backgroundPosition","0%"  +(y)+ "px");
        $('#comments').html(data);
       } 
     });
};

PHP

$find_data = "SELECT * FROM $tablename WHERE table_name='$table' AND product_id='$id' ORDER by id DESC";
$query = mysqli_query($connection, $find_data);

$find_data2 = "SELECT * FROM $tablename2 WHERE id='$id'";
$query2 = mysqli_query($connection, $find_data2);
$row2 = mysqli_fetch_assoc($query2);

header('Content-type: application/json');
echo json_encode($row2);
?> 

      <?php while($row = mysqli_fetch_assoc($query)):?>
      <div class="comment-container">
        <div class="user-info"><?php echo $row['user_name']; ?></div>
        <div class="comment"><p><?php echo $row['quick_comment']; ?></p></div>
      </div>
      <?php endwhile;?>

请参阅并建议任何可行的方法。

感谢。

1 个答案:

答案 0 :(得分:1)

尝试将整个响应编码为JSON对象! 类似的东西:

$response = array(
    'success' => true,
    'object'  => $yourobject_or_array,
    'html'    => '<b>Bla bla</b>'
);
echo json_encode($response);
die();

JS:

function(response) {
    var res = false;
    try {
        res = jQuery.parseJSON(response);
    } catch(e) {}
    if (res && res.success) {
        // Use res.object and res.html here
    }
}