RSS هو معيار ملف يستند إلى XML ويمكن تحقيق مشاركة المحتوى بين مواقع الويب بسهولة من خلال ملفات XML التي تتوافق مع مواصفات RSS. Ajax هو اختصار لـ Asynchronous JavaScript وXML. تتيح لك تقنية Ajax تقديم طلب إلى الخادم عبر بروتوكول نقل النص التشعبي (Http) ومواصلة معالجة البيانات الإضافية أثناء انتظار الرد. يمكن قراءة ملفات XML عن بعد بسهولة من خلال تقنية Ajax، لذلك يمكن استخدام تقنية Ajax للوصول عن بعد إلى المعلومات الموجزة التي تم إنشاؤها وفقًا لمعيار RSS. يمكننا أيضًا كتابة قارئ RSS بأنفسنا.
أجاكس ليست لغة أو تكنولوجيا جديدة، بل هي في الواقع عدة تقنيات مجتمعة بطريقة معينة. ويؤدي كل منهم أدواره الخاصة في التعاون، والتي تشمل: استخدام XHTML وCSS للعرض التقديمي الموحد، واستخدام DOM للعرض الديناميكي والتفاعل، واستخدام XML وXSLT لتبادل البيانات ومعالجتها، واستخدام XMLHttpRequest لقراءة البيانات غير المتزامنة؛ للربط ومعالجة جميع البيانات. حسنًا، دعونا لا نتحدث أكثر عن النظرية، فلننظر مباشرة إلى الكود.
قم بإنشاء كائن XMLHttpRequest وأرسل الطلب إلى الخادم:
انسخ رمز الكود كما يلي:
وظيفة createXHR(url){
إذا(window.XMLHttpRequest){
xmlHttp = new 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);
}
قم باجتياز مستند Rss من خلال عمليات DOM للحصول على القيمة المطلوبة:
انسخ رمز الكود كما يلي:
وظيفة قراءة الوثيقة (وثيقة) {
root = doc.getElementsByTagName("channel")[0];
docTitle = root.getElementsByTagName("title")[0];
docLink = root.getElementsByTagName("link")[0];
docDescription = root.getElementsByTagName("description")[0];
العناصر = root.getElementsByTagName("item");
for(var i=0;i<items.length;i++){
itemTitle = items[i].getElementsByTagName("title")[0];
itemLink = items[i].getElementsByTagName("link")[0];
itemDescription = items[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");
حصلت على الرد:
انسخ رمز الكود كما يلي:
وظيفة الحصول على الاستجابة () {
إذا (xmlHttp.readyState == 4){
إذا (xmlHttp.status == 200){
rssDoc = xmlHttp.responseXML;
readDoc(rssDoc);// اتصل بوظيفة readDoc ().
}آخر{
document.getElementById("rssTitle").innerHTML = "قراءة الاستثناء!";
// تنبيه (xmlHttp.status)؛
}
}
}