RSS — это стандарт файлов на основе XML. Совместное использование контента между веб-сайтами можно легко обеспечить с помощью файлов XML, соответствующих спецификации RSS. Ajax — это аббревиатура асинхронного JavaScript и XML. Технология Ajax позволяет сделать запрос к серверу через протокол передачи гипертекста (Http) и продолжить обработку дополнительных данных, ожидая ответа. Чтение удаленных XML-файлов можно легко осуществить с помощью технологии Ajax. Таким образом, технологию Ajax можно использовать для удаленного доступа к сводной информации, созданной в соответствии со стандартом RSS. Мы даже можем написать программу чтения RSS самостоятельно.
Ajax — это не новый язык или технология, это на самом деле несколько технологий, объединенных определенным образом. Все они играют свою роль в сотрудничестве, которое включает в себя: использование XHTML и CSS для стандартизированного представления; использование DOM для динамического отображения и взаимодействия; использование XML и XSLT для обмена и обработки данных; использование XMLHttpRequest для асинхронного чтения данных; для привязки и обработки всех данных. Ладно, не будем больше говорить о теории. Давайте посмотрим непосредственно на код.
Создайте объект XMLHttpRequest и отправьте запрос на сервер:
Скопируйте код кода следующим образом:
функция createXHR(url){
если (окно.XMLHttpRequest) {
xmlHttp = новый XMLHttpRequest();
}еще{
xmlHttp = новый ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("post",url,"false");
xmlHttp.onreadystatechange = getResponse; xmlHttp.setRequestHeader("Тип контента", "application/x-www-form-urlencoded");
xmlHttp.send (нуль);
}
Пройдите по документу RSS с помощью операций DOM, чтобы получить необходимое значение:
Скопируйте код кода следующим образом:
функция readDoc(док){
root = doc.getElementsByTagName("канал")[0];
docTitle = root.getElementsByTagName("title")[0];
docLink = root.getElementsByTagName("ссылка")[0];
docDescription = root.getElementsByTagName("описание")[0];
items = root.getElementsByTagName("элемент");
for(var i=0;i<items.length;i++){
itemTitle = items[i].getElementsByTagName("title")[0];
itemLink = items[i].getElementsByTagName("ссылка")[0];
itemDescription = items[i].getElementsByTagName("описание")[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(){
если (xmlHttp.readyState == 4) {
если (xmlHttp.status == 200) {
rssDoc = xmlHttp.responseXML;
readDoc(rssDoc);//Вызов функции readDoc()
}еще{
document.getElementById("rssTitle").innerHTML = "Прочитать исключение!";
//оповещение(xmlHttp.status);
}
}
}