1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

XMLHttpRequest().responseXML

  • Steff100
  • 19. April 2011 um 16:32
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Steff100
    Punkte
    330
    Beiträge
    50
    • 19. April 2011 um 16:32
    • #1

    Ich versuche verzweifelt über einen XMLHttpRequest den Content als XML zu erhalten. Allerdings bekomm ich hierbei Null zurück. Die einzige Möglichkeit besteht in der Methode responseText, welches mir allerdings bei Abfragen nicht sehr zuvorkomment ist.

    Folgender Code:

    Code
    var request = null;
    request = new XMLHttpRequest();
    if (request) {
        request.open('GET', webside, true);
        request.setRequestHeader('Content', 'text/xml');
        request.onreadystatechange = function () {
            if (request.readyState == 4) {
                alert(request.responseXML); //NULL???
            }
        };
        request.send(null);
    }
    Alles anzeigen

    Den Request-Header auf "text/xml" zu setzen hab bei mir nichts gebracht. Das Ergebnis bleibt dasselbe.

    Kann hierbei jemand weiterhelfen?

  • Paulchen
    Gast
    • 19. April 2011 um 19:46
    • #2

    Magst ned irgendeine Javascript-Library (JQuery, ...) verwenden? Macht alles viel einfacher. :)

  • Blutsturz
    Punkte
    1.351
    Beiträge
    261
    • 19. April 2011 um 20:06
    • #3

    schonmal z.b. firebug zum debuggen verwendet? reiter "scripts", script auswählen und einfach mal ein paar breakpoints setzen und schaun wo sich was tut oder eben auch nicht tut. bzw schau mal in die fehlerkonsole, bringt oft auch schon die erleuchtung (ist jetzt alles firefox bezogen, andere browser bringen sicherlich auch ähnliche werkzeuge mit bzw. sind durch entsprechende addons dazu in der lage). ansonsten kann ich paulchen nur beipflichten.

    //edit: sicher, dass du da keinen typo eingebaut hast:

    Code
    request.open('GET', websi[B][U]d[/U][/B]e, true)

    2 Mal editiert, zuletzt von Blutsturz (19. April 2011 um 20:10)

  • Ringding
    Punkte
    1.237
    Beiträge
    244
    • 19. April 2011 um 20:41
    • #4

    Vermutlich ist das XML nicht well formed, wenn du mit .responseText was bekommst, aber mit .responseXML nix.

  • sutupud
    Punkte
    1.659
    Beiträge
    320
    • 20. April 2011 um 01:25
    • #5
    Zitat von Steff100


    Den Request-Header auf "text/xml" zu setzen hab bei mir nichts gebracht. Das Ergebnis bleibt dasselbe.

    logisch dass das nichts bringt. der request-header gibt ja auch den mime-type des requests an. was darauf zurückkommt ist eine ganz andere sache.
    probiers mal mit request.overrideMimeType("text/xml").
    trotzdem musst du darauf achten dass auch wirklich xml (oder xhtml) zurückkommt, einfach normales html als xml zu parsen geht nicht.

  • Steff100
    Punkte
    330
    Beiträge
    50
    • 21. April 2011 um 12:08
    • #6

    OK! Danke für die Ratschläge. Hab mit Firebug das Problem entdeckt.

    Problem ist, dass das HTML-Dokument nicht ganz valide ist und ihm ein </link> fehlt. Jetzt ist halt die Frage, wie ich dieses Problem umgehen kann, da ich die Seite selbst nicht beeinflussen kann. Gibt's da ne Möglichkeit Tags auszulesen, obwohl das Dokument nicht well formed ist??

  • davide
    Punkte
    5.660
    Beiträge
    1.048
    • 21. April 2011 um 14:26
    • #7

    möglicherweise nach responseText() den fehlenden </link> tag einfügen, und danach erst als xml parsen?

    alles über regex auslesen ist wahrscheinlich noch umständlicher :)

  • Steff100
    Punkte
    330
    Beiträge
    50
    • 21. April 2011 um 14:52
    • #8

    Das Parsen funzt leider nie. Mittlerweile probiere ich die Infos mit Regex auszulesen, allerdings draufzukommen, welche Befehle funzen und welche nicht lässt mich komplett verzweifeln.

    Edit:
    So, habs endlich geschafft. Regex-Befehle sind manchmal doch die letzte Rettung.

    Einmal editiert, zuletzt von Steff100 (21. April 2011 um 18:02)

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum