在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(数据)); –
可以粘贴从网络面板服务响应 –