使用 jQuery 从 ajax/jsonp 请求中输出 html
Output html from ajax/jsonp request using jQuery
我正在尝试使用来自 jsonp 文件的 ajax 请求输出 html。使用 console.log
时,我看到数据循环正常,但是当使用变量获取循环并在 html 中输出时,我只看到一个结果。我错过了什么?
$.ajax({
url: "http://sitedotcom/blog/json",
dataType: "jsonp",
jsonpCallback: "jsonpCallback",
success: jsonpCallback
});
function jsonpCallback(data) {
for (var key in data) {
if (data.hasOwnProperty(key)) {
console.log(data[key]["title"] + ", " + data[key]["entry_id"]);
rssData = '<h2>' + data[key]["title"] + "</h2><p>" + data[key]["blog_summary"] + "</p>";
}
$('#blog-content').html(rssData);
}
}
循环中有 $('#blog-content').html(rssData);
....所以只有最后一个结果会显示,因为 html()
替换了所有内容。
尝试使用 append()
代替或连接 rssData
每次迭代并在循环完成后设置 html()
当您将 rssData 添加到您的#blog-content 时,它似乎超出了范围。此外,您在执行控制台日志和设置 rssData 变量时输出不同的数据。
如果您可以提供 json 布局以及您要附加到的 html 布局。
我正在尝试使用来自 jsonp 文件的 ajax 请求输出 html。使用 console.log
时,我看到数据循环正常,但是当使用变量获取循环并在 html 中输出时,我只看到一个结果。我错过了什么?
$.ajax({
url: "http://sitedotcom/blog/json",
dataType: "jsonp",
jsonpCallback: "jsonpCallback",
success: jsonpCallback
});
function jsonpCallback(data) {
for (var key in data) {
if (data.hasOwnProperty(key)) {
console.log(data[key]["title"] + ", " + data[key]["entry_id"]);
rssData = '<h2>' + data[key]["title"] + "</h2><p>" + data[key]["blog_summary"] + "</p>";
}
$('#blog-content').html(rssData);
}
}
循环中有 $('#blog-content').html(rssData);
....所以只有最后一个结果会显示,因为 html()
替换了所有内容。
尝试使用 append()
代替或连接 rssData
每次迭代并在循环完成后设置 html()
当您将 rssData 添加到您的#blog-content 时,它似乎超出了范围。此外,您在执行控制台日志和设置 rssData 变量时输出不同的数据。
如果您可以提供 json 布局以及您要附加到的 html 布局。