所以我从另一个网站上获取了这个代码来提取rss(我问他们,他们给了我许可)我不知道我应该在TAG1和TAG2写什么。基本上这只是我的问题: 这是html(它是一个ajaxed页面)
<!doctype html>
<html lang="hu">
<head>
<title>Videók</title>
<meta charset="utf-8"/>
<script type="text/javascript" src="../js/videok.js"></script>
</head>
<body>
<h2><a href="#" style="font-size:15pt; color:#ff00e8; text-decoration: none;">Van egy jó videód? Töltsd fel és kikerülhet az oldalra!</a></h2>
<div id="videok"></div>
</body>
</html>
这是用于拉动的Javascript
window.onload = initAll;
var xhr = false;
var dataArray = new Array();
var url = "choose url";
function initAll() {
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) { }
}
}
if (xhr) {
xhr.onreadystatechange = setDataArray;
xhr.open("GET", url, true);
xhr.send(null);
}
else {
alert("couldn't create XMLHttpRequest");
}
}
function setDataArray() {
var tag1 = "subject1";
var tag2 = "subject2";
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseXML) {
var allData = xhr.responseXML.getElementsByTagName(tag1);
for (var i=0; i<allData.length; i++) {
dataArray[i] = allData[i].getElementsByTagName(tag2)[0].firstChild.nodeValue;
}
}
}
else {
alert("the request failed" + xhr.status);
}
}
}
答案 0 :(得分:2)
您无法使用javascript从其他网页中提取,因为在浏览器中javascript是沙盒。沙盒意味着您只能将请求发送到javascript最初来自的相同域(也称为相同的orgin策略&#39;)。
您可以使用像php这样的服务器端语言进行提取,然后通过ajax将其交给javascript。
您发布的代码看起来只是简单的ajax调用,但在尝试从您自己的网站以外的任何地方请求RSS时它不应该工作。
答案 1 :(得分:1)
最好让应用程序的服务器端获取xml的数据,并根据需要格式化数据。
您将Ajax请求命中服务器的终点,然后您的服务器将获取xml数据,正确格式化并使用正确的格式化数据响应请求。