0
나는 RSS
피드 데이터를 가져 오기 위해 다음 함수를 작성했습니다.결과가이 함수로 표시되지 않음
스크립트 끝의 두 경고가 모두 표시되기 때문에 결과는 jQuery::append()
을 통해 div에 추가되지 않으므로 흥미 롭습니다. 함수를 추가하기 위해 전달 된 ID가 완전히 정확하다고 언급해야합니다. 아약스는 비동기이기 때문에
function generateTopNews() {
// Manage RSS url
var targetsURLs = new Array("http://www.jamejamonline.ir/rssfeed?code=01-10-95", "http://www.khorasannews.com/RSS.aspx?type=1", "http://www.tabnak.ir/fa/rss/1", "http://www.varzesh3.com/rss/");
var logoURLs = new Array("images/jm_logo.png", "images/kh_logo.png", "images/tb_logo.png", "images/v3_logo.png");
// Temp variables
var resultArray = new Array();
var rssCounter = 0;
// RSS Loader
for (var i = 0; i < targetsURLs.length; i++) {
$.ajax({
url: "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=" + encodeURIComponent(targetsURLs[i]),
dataType: "json",
success: function(data) {
var fetchedFeed = data.responseData.feed.entries;
for (var j = 0; j < fetchedFeed.length && j < 2; j++) {
// RSS HTML Template
var htmlContent = "<div class=\"col-md-4 col-sm-6\">";
htmlContent += " <div class=\"panel panel-default\">";
htmlContent += " <div class=\"panel-heading\">";
htmlContent += " <img class=\"pull-left\" src=\"" + logoURLs[i] + "\" height=\"23px\" />";
htmlContent += " <p>" + fetchedFeed[j].title + "<p>";
htmlContent += " </div>";
htmlContent += " <div class=\"panel-body\">";
htmlContent += fetchedFeed[j].contentSnippet;
htmlContent += " </div>";
htmlContent += " </div>";
htmlContent += "</div>";
// Count up the RSS
resultArray[rssCounter++] = htmlContent;
}
}
});
}
// Start
$("#rss-container").append("@Start");
alert("@Start");
// Append the results
for (var i = 0; i < resultArray.length; i++) {
$("#rss-container").append(resultArray[i]);
}
// End
$("#rss-container").append("@End");
alert("@End");
}
페이지를 디버깅하기 위해 이미 수행 한 단계는 무엇입니까? 문제를 확인 했습니까? 아니? 가능한 한 최선을 다하고 다른 사람에게 디버깅을 요청하지 마십시오. – Andrey
@Andrey 이미 디버깅했는데, 왜 추가 기능이 아무 것도 출력되지 않는 이유를 모르겠습니다! – NullPointer
'append'앞에 breakpoint/console.log를 하나 넣고 resultArray가 채워지는 줄을 작성하면 문제를 빨리 알아낼 수 있습니다. – Andrey