RSS는 XML 기반 파일 표준으로, RSS 사양을 준수하는 XML 파일을 통해 웹사이트 간 콘텐츠 공유를 쉽게 수행할 수 있습니다. Ajax는 Asynchronous JavaScript 및 XML의 약어입니다. Ajax 기술을 사용하면 HTTP(Hypertext Transfer Protocol)를 통해 서버에 요청하고 응답을 기다리는 동안 추가 데이터를 계속 처리할 수 있습니다. Ajax 기술을 통해 원격 XML 파일을 쉽게 읽을 수 있습니다. 따라서 Ajax 기술을 사용하면 RSS 표준에 따라 생성된 요약 정보에 원격으로 액세스할 수도 있습니다.
Ajax는 새로운 언어나 기술이 아니며 실제로는 특정 방식으로 결합된 여러 기술입니다. 이들은 모두 공동 작업에서 각자의 역할을 수행합니다. 여기에는 표준화된 프레젠테이션을 위한 XHTML 및 CSS 사용, 동적 표시 및 상호 작용을 위한 DOM 사용, 데이터 교환 및 처리를 위한 XMLHttpRequest 사용 및 마지막으로 JavaScript 사용이 포함됩니다. 모든 데이터를 바인딩하고 처리합니다. 좋습니다. 이론에 대해서는 더 이상 이야기하지 말고 코드를 직접 살펴보겠습니다.
XMLHttpRequest 객체를 생성하고 서버에 요청을 보냅니다.
다음과 같이 코드 코드를 복사합니다.
함수 createXHR(url){
if(window.XMLHttpRequest){
xmlHttp = 새로운 XMLHttpRequest();
}또 다른{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("post",url,"false");
xmlHttp.onreadystatechange = getResponse; xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send(null);
}
필요한 값을 얻으려면 DOM 작업을 통해 Rss 문서를 탐색하세요.
다음과 같이 코드 코드를 복사합니다.
함수 readDoc(doc){
root = doc.getElementsByTagName("채널")[0];
docTitle = root.getElementsByTagName("제목")[0];
docLink = root.getElementsByTagName("link")[0];
docDescription = root.getElementsByTagName("설명")[0];
items = root.getElementsByTagName("item");
for(var i=0;i<items.length;i++){
itemTitle = 항목[i].getElementsByTagName("제목")[0];
itemLink = 항목[i].getElementsByTagName("link")[0];
itemDescription = 항목[i].getElementsByTagName("description")[0];
//itemPubDate = items[i].getElementsByTagName("pubDate")[0];
document.getElementById("rssTitle").innerHTML = docTitle.firstChild.nodeValue;
temp = "</h1><h2><a href=""+itemLink.firstChild.nodeValue+"" target="_blank">"+itemTitle.firstChild.nodeValue+"</a></h2>"+"< p>"+itemDescription.firstChild.nodeValue+"</p><hr/>";
document.getElementById("readRss").style.display = "none";
document.getElementById("printRss").getElementsByTagName("span")[0].style.display = "none";
document.getElementById("printRss").innerHTML = document.getElementById("printRss").innerHTML + temp;
}
}
createXHR(url) 함수를 호출하고 매개변수를 전달한 후 서버에 요청을 보냅니다.
다음과 같이 코드 코드를 복사합니다.
createXHR("http://www.apple.com.cn/hotnews/rss/hotnews.rss");
응답을 받았습니다:
다음과 같이 코드 코드를 복사합니다.
함수 getResponse(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
rssDoc = xmlHttp.responseXML;
readDoc(rssDoc);//readDoc() 함수 호출
}또 다른{
document.getElementById("rssTitle").innerHTML = "읽기 예외!";
//경고(xmlHttp.status);
}
}
}