Ergebnis 1 bis 5 von 5
  1. #1
    Iago ist offline Doppel-As
    registriert
    15-04-2009
    Beiträge
    103

    TypeError bei XML Request

    Hallo,
    ich versuche mich gerade an einem AJAX-Tutorial
    Ich bekomme eine Fehlermeldung wenn ich die Daten aus dem XML-Formular auslese.

    Fehler: TypeError xmlDoc is null
    Weiß hier jemand etwas vielen Dank!

    HTML-Datei:
    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    
    <head>
        <title>ajax1</title>
    
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
        <meta name="description" content="" />
        <meta name="author" content="" />
        <meta name="keywords" content="" />
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)" />
    
        <link href="style.css" type="text/css" rel="stylesheet" />
    
        <script type="text/javascript">
          var request = false;
    
           function setRequest(id) {
                   //Request erzeugen
                   if(window.XMLHttpRequest){
                       request = new XMLHttpRequest(); //Mozilla, Safari, Opera
                   }  else if (window.ActiveXObject){
                       try{
                           request = new ActiveXObject('Msxml2.XMLHTTP'); //IE 5
                       } catch(e){
                           try{
                               request = new ActiveXObjects('Microsoft.XMLHTTP'); //IE6
                           }   catch(e){}
                       }
                   }
                //überprüfen, ob Request erzeugt wurde
                if(!request) {
                       alert("Kann keine XMLHTTP-Instanz erzeugen");
                       return false;
                } else{
                       var url = "ajax.php";
                       //Name auslesen
                       var value = document.getElementById('source_'+id).innerHTML;
                       //Request öffnen
                       request.open('post',url,true);
                       //Requestheader senden
                       request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                       //Request senden
                       request.send('name='+value);
                       //Request auswerten
                       request.onreadystatechange = interpretRequest;
                }
    
           }
           function interpretRequest() {
               switch(request.readyState) {
                   //wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
                   case 4:
                       if(request.status != 200){
                           alert("Der Request wurde abgeschlossen, ist aber nicht OK \nFehler:"+request.status);
                       }  else{
                           //Antwort des Servers -> XML-Dokument
                           var xmlDoc = request.responseXML;
                           //Name aus dem XML-Dokument herauslesen
                           var original  =  xmlDoc.getElementsByTagName('originalname')[0].firstChild.nodeValue;
                           var small  =  xmlDoc.getElementsByTagName('smallname')[0].firstChild.nodeValue;
                           var big  =  xmlDoc.getElementsByTagName('bigname')[0].firstChild.nodeValue;
                           //Name in die Felder schreiben
                           document.getElementById('original').innerHTML = original;
                           document.getElementById('small').innerHTML = small;
                           document.getElementById('big').innerHTML = big;
    
                       }
                       break;
                   default:
                       break;
    
               }
           }
    
        </script>
    </head>
    
    <body>
     <ul>
      <li><a id="source_01" href="javascript:setRequest('01')">Max</a></li>
      <li><a id="source_02" href="javascript:setRequest('02')">Susi</a></li>
      <li><a id="source_03" href="javascript:setRequest('03')">Charly</a></li>
    
     </ul>
    
    <table>
        <tr>
         <td>original</td><td>:</td><td><span id="original"></span></td>
        </tr>
        <tr>
         <td>In Kleinbuchstaben</td><td>:</td><td><span id="small"></span></td>
        </tr>
        <tr>
         <td>in Grossbuchstaben</td><td>:</td><td><span id="big"></span></td>
        </tr>
    
    
    
    </table>
    
    </body>
    </html>

    PHP-Datei mit XML:
    PHP-Code:
    <?php
    header
    ('Content-Type: text/xml; charset=utf-8');  //korrekte Codierung
    header('Cach-Control: must-revalidate, pre-check=0, no-store, no-cach, max-age=0, post-check=0');

    $original $_POST['name'];
    $small strtolower($_POST['name']);
    $big strtoupper($_POST)

    echo 
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
    echo 
    "<formatname>\n";
    echo 
    "<originalname>".$original."</originalname>\n";
    echo 
    "<smallname>".$small."</smallname>\n";
    echo 
    "<bigname>".$big."</bigname>\n";
    echo 
    "</formatname>\n";

    ?>

  2. #2
    rico2009 Guest

    AW: TypeError bei XML Request

    Guten Morgen,

    bekommst du denn überhaupt eine Antwort vom Server? Kannst du dir den Request z.B. über die Firebug Konsole mal anschauen?


    Gruß
    Geändert von rico2009 (15-09-2013 um 00:32 Uhr)

  3. #3
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: TypeError bei XML Request

    Du machst nicht wirklich ein AJAX-Tutorial und verwendest ein globales XHR-Object...?
    Auch sollte man den onreadystatechange-Eventlistener for dem .send() setzten.

    Zu deinem Problem: was bekommst du den, wenn du die XML-Seite direkt im Browser aufrufst? Denn wenn .responseXML nicht bevölkert ist spricht das meistens dafür, dass du kein valides XML auslieferst.

  4. #4
    Iago ist offline Doppel-As
    registriert
    15-04-2009
    Beiträge
    103

    AW: TypeError bei XML Request

    Hallo, ja, geistige Umnachtung:
    natürlich: $big = strtoupper($_POST['name']);
    xml wird jetzt schön angezeigt!!

  5. #5
    j-l-n Guest

    AW: TypeError bei XML Request

    Zitat Zitat von Iago Beitrag anzeigen
    Hallo, ja, geistige Umnachtung:
    natürlich: $big = strtoupper($_POST['name']);
    xml wird jetzt schön angezeigt!!
    dann ist das Problem gelöst, oder?

Ähnliche Themen

  1. Uncaught TypeError: Object has no method 'replace'
    Von Kommissar im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 16-04-2013, 21:30
  2. Uncaught TypeError
    Von The_C im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 20-01-2013, 19:07
  3. Fehler: TypeError: data[i] is undefined
    Von Roger80 im Forum JavaScript
    Antworten: 17
    Letzter Beitrag: 18-12-2012, 16:58
  4. Antworten: 1
    Letzter Beitrag: 01-07-2011, 15:41
  5. Antworten: 3
    Letzter Beitrag: 26-05-2011, 21:46

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •