在使用 AJAX 发布请求后,我想将简单的 html 代码加载到我的父 div。
HTML:
<div id="html-container"></div>
JS:
$("#html-container").empty();
$.ajax({
type: "POST",
url: "src/items.php",
dataType: "json",
data: {stype:st},
success : function(data) {
$('#html-container').html(data);
},
error : function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
还尝试了 $('#html-container').text(data),$('#html-container').load(data)
PHP:
if (array_key_exists('stype', $_POST)) {
$dataStr = funcs_to_generate_html_code();
echo "$dataStr";
} else {
$dataStr = func_to_generate_html_code();
echo "$dataStr";
}
问题是:
parsererror SyntaxError: Unexpected token < in JSON at position 0
但是在开发工具(网络-> XHR-> 响应)中没有错误,只是我需要的html代码。
在 PHP 中:echo json_encode($dataStr); 返回损坏的 html 代码,并且没有json_encode仅使用echo我仍然会收到错误(上图)。
如何从使用 AJAX 的发布请求的响应中获取 HTML 代码并将其设置为 div?
更新:
设置dataType: "text"和dataType: "html"删除上面的错误,我可以在浏览器检查器中看到所有 html 代码,但实际上在我的 div 中看不到它,如果我设置$('#html-container' ).text(data)所有 html 作为简单文本加载到 div。
慕妹3242003
慕斯709654