tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
179
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Spelvin Spelvin ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    15
    Hallo Leute,
    ich nutzte auf meiner Seite ein Ajax-Script um Daten aus einer SQL-Abfrage die in einer PHP Datei steht auszulesen. Das ganze funktioniert auch ganz gut, aber als erste Ausgabe zeigt er mir immer "undefined". Wo liegt der Fehler?
    Ausserdem würde ich gerne wissen was die 4 und die 200 in der IF-Abfrage bedeuten.
    Das Script stammt nicht von mir und ich habe auch keine Ahnung von Ajax. Hoffe ihr könnt mir weiterhelfen.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    <script type="text/javascript">
     
    var req = new XMLHttpRequest();
    req.onreadystatechange = function()
    {
      if (req.readyState==4 && req.status==200)
      {
         var data = JSON.parse(req.responseText);
       
     
    var str;
     
        for (var index in data)
    {
      var obj = data[index];
      
     
    str += '<table><tr><td><img src="'+obj.imagepfad+'"></td><td>'+obj.name+'</td></tr></table>';
     
     
     
    document.getElementById('ausgabe').innerHTML = str;
          
    }
     
      }
    }
    req.open("GET", "Ausgabe.php");
    req.send();
     
        </script>
     
     
    <div id=ausgabe></div>
    Geändert von Spelvin (21.09.11 um 22:05 Uhr)
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Für die 4 siehe: http://www.w3.org/TR/XMLHttpRequest/...est-readystate
    DONE (numeric value 4)

    The data transfer has been completed or something went wrong during the transfer (e.g. infinite redirects).

    Für die 200 siehe: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
    10.2.1 200 OK

    The request has succeeded. The information returned with the response is dependent on the method used in the request, for example:

    GET an entity corresponding to the requested resource is sent in the response;

    HEAD the entity-header fields corresponding to the requested resource are sent in the response without any message-body;

    POST an entity describing or containing the result of the action;

    TRACE an entity containing the request message as received by the end server.
    Jetzt zum letzten Punkt: Als aller erstes steht "undefined", weil die Variable "str" zu Beginn keinen Wert hat, also "undefined" ist. Ändere einfach folgende Zeile

    Code javascript:
    1
    2
    3
    4
    5
    
    //Vorher
    var str;
     
    //Nachher
    var str = '';

    Edit: Nimm die Zuweisung zu "innerHTML" hinter die Schleife. Das ist performanter.
    Geändert von CPoly (21.09.11 um 21:39 Uhr)
     

  3. #3
    Spelvin Spelvin ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    15
    Danke für deine schnelle Hilfe, hast mir sehr weitergeholfen.
     

Ähnliche Themen

  1. Ajax -> $(ajax) Response Text Leer oder undefined
    Von DiDiJo im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 19.11.10, 11:53
  2. Antworten: 9
    Letzter Beitrag: 08.09.10, 19:54
  3. Antworten: 4
    Letzter Beitrag: 31.01.09, 02:12
  4. einfaches Script? Ajax
    Von _player im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 24.10.08, 10:28
  5. Ajax Script gesucht
    Von Moby Dick im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 07.06.07, 13:43