2012-10-23 66 views
1

我有兩個jquery函數,可以從兩個正常工作的文件中分別獲得評級和註釋。如何在一個Ajax調用中引入json和html數據

現在我想要在單個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

嘗試編碼整個響應到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 
    } 
} 
+0

使用jQuery'parseJSON'方法 –

+0

在何處進行Ajax調用你的函數 –

+0

我的功能就是爲您的Ajax請求響應處理。把它放在你的「成功」上: –

相關問題