使用AJAX附加到DOM,数据显示为字符串而不是HTML

时间:2017-01-07 23:12:34

标签: javascript jquery html ajax dom

我试图将通过AJAX请求检索的数据附加到DOM,这样我就可以抓住它并将其放入数组中。但是,当我将数据附加到DOM时,它显示为字符串而不是HTML。我的代码附加到DOM下面,谢谢!

var url = "https://xxxxxxx.com";
var $storeData = document.getElementById("data");

$.getJSON(url, function(data) {
    var checkins = data.response.venues[0].stats.checkinsCount;
    var formattedCheckins = Number(checkins);
    $storeData.append('<p class="getData">' + formattedCheckins + '</p>')
});

我在JSON.stringify变量上使用formattedCheckins以及类似的结果尝试了此操作。谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

您的问题是document.getElementById正在返回本机DOM元素。使用该对象的append()方法将文本放在元素中,而不是HTML。您似乎对jQuery的append()方法感到困惑,该方法确实添加了HTML。

要解决此问题,请使用jQuery选择#data元素:

&#13;
&#13;
var $storeData = $("#data");

var formattedCheckins = 12345;
$storeData.append('<p class="getData">' + formattedCheckins + '</p>')
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="data"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您使用jQuery,请尝试使用var $storeData = $("#data");

document.getElementById返回一个DOM对象。

var storeData = $('#data')返回一个jQuery对象。