gpt4 book ai didi

javascript - Ajax 调用以纯字符串格式返回数据。

转载 作者:行者123 更新时间:2023-11-30 14:57:44 25 4
gpt4 key购买 nike

在 PHP 中我可以做这样的事情:

echo "<div>".$myvariable."</div>";

这将用 HTML 中的 div 打印出我的变量作为其标签。但是最近,我需要使用 jquery 进行 ajax 调用。我对 ajax 有点熟悉,但我用得不多。无论如何,我运行 ajax 代码,它像我想要的那样将数据打印到我的 HMTL 元素框中,但是,div 标签与内容本身一起打印和显示!

整个返回数据几乎是 1 个长字符串,而不是像我希望的那样由 PHP 解析我的数据。我哪里做错了?为什么它只返回 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.innerHTML = "";
sidebar.append(data);

sidebar.innerHTML = data;

要回答您的评论,您可以在 jquery 中使用 append with following

$(sidebar).append($(data))

所以需要使用 jquery 的 append,而不是 append,来自 dom api,它只在参数中接受一个节点元素。如果您仍然需要使用 dom api 的追加,请使用类似:

sidebar.append(document.createRange().createContextualFragme‌​nt(data))

关于javascript - Ajax 调用以纯字符串格式返回数据。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46994729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com