Fehler bei HttpRequest

headnut41

Grünschnabel
Hallo zusammen,

ich muss für ein Projekt einen RSS Feed bzw. eine XML Datei auslesen, Hierfür habe ich mir untenstehendes
Test Script erstellt.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>XML auslesen</title>
	
	<script type="text/javascript"> 
		var xhr;
		
		window.onload = function () {
		
			if (window.XMLHttpRequest) {
				xhr = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) {
				xhr = new ActiveXObject ("Microsoft.XMLHTTP");
			}

			xhr.open("GET",'http://www.heise.de/newsticker/heise-atom.xml',true);
			xhr.onreadystatechange = datenAusgeben;
			xhr.send(null);
			};
		
		 function datenAusgeben() {
				if(xhr.readyState == 4) {
					if (xhr.status == 200) {
							alert(xhr.responseText);
							var rueckgabe = xhr.responseXML;
							var element = rueckgabe.getElementsByTagName("title")[1].childNodes[0].nodeValue;
							document.getElementById("p").innerHTML = element;
					}
					else {
						alert (xhr.status);
					}		
					
				}
			}

	</script>

</head>
<h1>AJAX</h1>

<p id="p">..lade daten</p>

<body>
</body>
</html>

Nur leider habe ich das Problem, dass ich als Status eine '0' erhalte, also ein Fehler auftritt.
Wenn das Script mit einer XML Datei ausführe, die lokal bei mir auf dem Rechner liegt, funktioniert
alles ohne Probleme.

Vllt. hat jemand eine Idee, warum das Aufrufen von externen XML Dateien hier nicht funktioniert, oder
ob man dabei noch etwas beachten muss.
 
Moin,

standardmässig kann man per AJAX keine entfernten Dateien abfragen.

Ein möglicher Workaround wäre, über ein serverseitiges Skript auf dem eigenen Server diesen Feed anzuzapfen und an das Skript durchzureichen.
 
Ja das habe ich mittlerweile auch nach längerem Googlen leider lesen müssen, dass man mittels AJAX nicht direkt auf externe Server zugreifen kann.
Über eine Datei auf dem eigenen Server wäre das kein Problem, habe ich in einem Projekt die Aufgabe einen kleinen RSS Reader zu implementieren, der lediglich Headlines ausliest. Dieser RSS Reader soll in eine Firefox Toolbar integriert werden, da kann ich dann wiederum leider nicht mit einer Datei arbeiten.

Gibt es noch andere Möglichkeiten!?

Ich habe im Netz einen Ansatz gefuden, aber kann mit diesem recht wenig anfangen:
HTML:
<script type="text/javascript" 
        src="http://otherdomain.com/getXml?jsonp=parseXml">
</script>
Kann man damit was machen?
 
Ich habe im Netz einen Ansatz gefuden, aber kann mit diesem recht wenig anfangen:
HTML:
<script type="text/javascript" 
        src="http://otherdomain.com/getXml?jsonp=parseXml">
</script>
Kann man damit was machen?

Das bringt dir nur was, wenn die Gegenseite etwas passendes ausliefern würde(in dem Fall die Daten als JSON-kodierten String).
Ich habe bei Heise nichts betreffendes gefunden.
 
Warum liest Du denn die RSS des entfernten Servers nicht per php-script und rufst dann dieses php-script per AJAX auf?
 
Problem gelöst!

Ich hab meinen Code einfach mal in meine Firefox Extension gepackt..und siehe da, es funktioniert.
Auch mit "externen" XML Dateien. Scheint also so, dass bei Firefox selber keine Beschränkung gibt.
 

Neue Beiträge

Zurück