RSS adalah standar file berbasis XML. Berbagi konten antar situs web dapat dengan mudah dicapai melalui file XML yang sesuai dengan spesifikasi RSS. Ajax adalah singkatan dari Asynchronous JavaScript dan XML. Teknologi Ajax memungkinkan Anda membuat permintaan ke server melalui Hypertext Transfer Protocol (Http) dan terus memproses data tambahan sambil menunggu tanggapan. Membaca file XML jarak jauh dapat dengan mudah dicapai melalui teknologi Ajax. Oleh karena itu, teknologi Ajax dapat digunakan untuk mengakses informasi ringkasan yang dihasilkan dari jarak jauh sesuai dengan standar RSS.
Ajax bukanlah bahasa atau teknologi baru, ia sebenarnya adalah beberapa teknologi yang digabungkan dengan cara tertentu. Mereka semua memainkan perannya masing-masing dalam kolaborasi, yang meliputi: menggunakan XHTML dan CSS untuk presentasi standar; menggunakan DOM untuk tampilan dan interaksi dinamis; menggunakan XML dan XSLT untuk pertukaran dan pemrosesan data; menggunakan XMLHttpRequest untuk pembacaan data asinkron; untuk mengikat. dan memproses semua data. Baiklah, kita tidak perlu membahas teorinya lebih lanjut. Mari kita lihat langsung kodenya.
Buat objek XMLHttpRequest dan kirim permintaan ke server:
Copy kode kodenya sebagai berikut:
fungsi buatXHR(url){
if(jendela.XMLHttpRequest){
xmlHttp = XMLHttpRequest baru();
}kalau tidak{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("posting",url,"salah");
xmlHttp.onreadystatechange = getResponse; xmlHttp.setRequestHeader("Jenis konten", "aplikasi/x-www-form-urlencoded");
xmlHttp.kirim(null);
}
Lintasi dokumen Rss melalui operasi DOM untuk mendapatkan nilai yang diperlukan:
Copy kode kodenya sebagai berikut:
fungsi readDoc(doc){
root = doc.getElementsByTagName("saluran")[0];
docTitle = root.getElementsByTagName("judul")[0];
docLink = root.getElementsByTagName("tautan")[0];
docDescription = root.getElementsByTagName("deskripsi")[0];
item = root.getElementsByTagName("item");
for(var i=0;i<item.panjang;i++){
itemTitle = item[i].getElementsByTagName("judul")[0];
itemLink = item[i].getElementsByTagName("link")[0];
itemDescription = item[i].getElementsByTagName("deskripsi")[0];
//itemPubDate = item[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 = "tidak ada";
document.getElementById("printRss").getElementsByTagName("span")[0].style.display = "tidak ada";
document.getElementById("printRss").innerHTML = dokumen.getElementById("printRss").innerHTML + suhu;
}
}
Panggil fungsi createXHR(url), masukkan parameter, dan kirim permintaan ke server:
Copy kode kodenya sebagai berikut:
createXHR("http://www.apple.com.cn/hotnews/rss/hotnews.rss");
Mendapat tanggapan:
Copy kode kodenya sebagai berikut:
fungsi getResponse(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
rssDoc = xmlHttp.responseXML;
readDoc(rssDoc);//Panggil fungsi readDoc()
}kalau tidak{
document.getElementById("rssTitle").innerHTML = "Baca pengecualian!";
//peringatan(xmlHttp.status);
}
}
}