RSS es un estándar de archivos basado en XML. El intercambio de contenido entre sitios web se puede lograr fácilmente a través de archivos XML que cumplen con la especificación RSS. Ajax es la abreviatura de JavaScript y XML asincrónicos. La tecnología Ajax le permite realizar una solicitud a un servidor a través del Protocolo de transferencia de hipertexto (Http) y continuar procesando datos adicionales mientras espera la respuesta. La lectura de archivos XML remotos se puede lograr fácilmente a través de la tecnología Ajax. Por lo tanto, la tecnología Ajax se puede utilizar para acceder de forma remota a información resumida generada de acuerdo con el estándar RSS. Incluso podemos escribir un lector de RSS nosotros mismos.
Ajax no es un lenguaje o tecnología nueva, en realidad son varias tecnologías combinadas de cierta manera. Todos desempeñan sus respectivos roles en la colaboración, que incluye: usar XHTML y CSS para presentación estandarizada; usar DOM para visualización e interacción dinámicas; usar XML y XSLT para intercambio y procesamiento de datos; usar XMLHttpRequest para lectura de datos asincrónica; para vincular y procesar todos los datos. Bien, no hablemos más de la teoría. Miremos directamente el código.
Cree un objeto XMLHttpRequest y envíe la solicitud al servidor:
Copie el código de código de la siguiente manera:
función crearXHR(url){
si(ventana.XMLHttpRequest){
xmlHttp = nueva XMLHttpRequest();
}demás{
xmlHttp = nuevo ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("publicación",url,"falso");
xmlHttp.onreadystatechange = getResponse; xmlHttp.setRequestHeader("Tipo de contenido", "aplicación/x-www-form-urlencoded");
xmlHttp.send(nulo);
}
Recorra el documento Rss a través de operaciones DOM para obtener el valor requerido:
Copie el código de código de la siguiente manera:
función leerDoc(doc){
raíz = doc.getElementsByTagName("canal")[0];
docTitle = root.getElementsByTagName("título")[0];
docLink = root.getElementsByTagName("enlace")[0];
docDescription = root.getElementsByTagName("descripción")[0];
elementos = root.getElementsByTagName("elemento");
for(var i=0;i<items.length;i++){
itemTitle = items[i].getElementsByTagName("título")[0];
itemLink = artículos[i].getElementsByTagName("enlace")[0];
itemDescription = artículos[i].getElementsByTagName("descripción")[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;
}
}
Llame a la función createXHR(url), pase los parámetros y envíe la solicitud al servidor:
Copie el código de código de la siguiente manera:
createXHR("http://www.apple.com.cn/hotnews/rss/hotnews.rss");
Obtuve respuesta:
Copie el código de código de la siguiente manera:
función obtenerRespuesta(){
si(xmlHttp.readyState == 4){
si(xmlHttp.status == 200){
rssDoc = xmlHttp.responseXML;
readDoc(rssDoc);//Llamar a la función readDoc()
}demás{
document.getElementById("rssTitle").innerHTML = "¡Excepción de lectura!";
//alerta(xmlHttp.status);
}
}
}