在PHP中我可以做這樣的事情:Ajax調用以純字符串格式返回數據。
echo "<div>".$myvariable."</div>";
這將打印出我的div的HTML中爲其標籤的變量。不過最近,我需要使用jquery進行ajax調用。我對阿賈克斯有點熟悉,但我沒有太多用處。無論如何,我運行ajax代碼,它會將數據打印到我想要的HMTL元素框中,但是,div標籤會隨着內容本身一起打印並顯示!
整個返回數據幾乎是1個長字符串,而不是像我想要的那樣解析我的數據。我哪裏做錯了?爲什麼它只返回1個長字符串?
PHP代碼:
<?php
require 'database.php';
$meal = $_POST['meals'];
$meal_q = "SELECT item
FROM meal_ingredients
WHERE meal_name='$meal'
ORDER BY item";
$meal_c = $conn->query($meal_q);
while ($row = $meal_c->fetch_assoc()){
$view_ingredient = $row['item'];
echo "<div>".$view_ingredient."</div>";
};
?>
jQuery代碼:
if($('body').hasClass('CreateMealPage')){
$('tr').on('click', function(e){
$('#sidebar').animate({right: '-200px'}, 500);
var meals = $(this).find('.meals').text();
$.ajax({
method: "POST",
url: 'meal_list.php',
data: {meals: meals},
success: function(data) {
var sidebar = document.getElementById('sidebar');
sidebar.innerHTML = "";
sidebar.append(data);
}
});
});
};
屏幕上顯示內容提煉:
<div>ingredientname</div>
<div>ingredientname</div>
<div>ingredientname</div>
而不是:
ingredientname
ingredientname
ingredientname
$(「#sidebar.append(JSON.stringify(數據)); –
可以粘貼從網絡面板服務響應 –