RSS é um padrão de arquivo baseado em XML. O compartilhamento de conteúdo entre sites pode ser facilmente alcançado por meio de arquivos XML que atendem à especificação RSS. Ajax é a abreviatura de JavaScript assíncrono e XML. A tecnologia Ajax permite fazer uma solicitação a um servidor via Hypertext Transfer Protocol (Http) e continuar processando dados adicionais enquanto aguarda a resposta. A leitura remota de arquivos XML pode ser facilmente realizada através da tecnologia Ajax. Portanto, a tecnologia Ajax pode ser usada para acessar remotamente informações resumidas geradas de acordo com o padrão RSS.
Ajax não é uma nova linguagem ou tecnologia, na verdade são várias tecnologias combinadas de uma certa maneira. Todos eles desempenham seus respectivos papéis na colaboração, que inclui: uso de XHTML e CSS para apresentação padronizada; uso de DOM para exibição e interação dinâmica, uso de XML e XSLT para troca e processamento de dados; para vincular e processar todos os dados. Ok, não vamos falar mais sobre a teoria. Vamos olhar diretamente para o código.
Crie um objeto XMLHttpRequest e envie a solicitação ao servidor:
Copie o código do código da seguinte forma:
função criarXHR(url){
if(janela.XMLHttpRequest){
xmlHttp = novo XMLHttpRequest();
}outro{
xmlHttp = novo ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("post",url,"falso");
xmlHttp.onreadystatechange = getResponse; xmlHttp.setRequestHeader("Tipo de conteúdo", "aplicativo/x-www-form-urlencoded");
xmlHttp.send(nulo);
}
Percorra o documento Rss por meio de operações DOM para obter o valor necessário:
Copie o código do código da seguinte forma:
função readDoc(doc){
root = doc.getElementsByTagName("canal")[0];
docTitle = root.getElementsByTagName("título")[0];
docLink = root.getElementsByTagName("link")[0];
docDescrição = root.getElementsByTagName("descrição")[0];
itens = root.getElementsByTagName("item");
for(var i=0;i<items.comprimento;i++){
itemTitle = itens[i].getElementsByTagName("título")[0];
itemLink = itens[i].getElementsByTagName("link")[0];
itemDescrição = itens[i].getElementsByTagName("descrição")[0];
//itemPubDate = itens[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;
}
}
Chame a função createXHR(url), passe os parâmetros e envie a solicitação ao servidor:
Copie o código do código da seguinte forma:
createXHR("http://www.apple.com.cn/hotnews/rss/hotnews.rss");
Obteve resposta:
Copie o código do código da seguinte forma:
função getResposta(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
rssDoc = xmlHttp.responseXML;
readDoc(rssDoc); //Chama a função readDoc()
}outro{
document.getElementById("rssTitle").innerHTML = "Ler exceção!";
//alert(xmlHttp.status);
}
}
}