Problem mit AJAX/XML

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit AJAX/XML

    Hi Leute,
    hab grad ein bisschen mit AJAX zumachen da is folgendes Problem aufgetaucht:

    Ich verweise mit req.onreadystatechange = getPost; auf die function getPost. Die wird 4mal ausgeführt, ist das normal?

    Na ja, auf jedenfall wird die Bedingung if (ajax_obj.readyState == 4)
    nicht erfüllt. Wo dran kan das liegen?

    Hier die getPost Funktion:
    PHP-Code:
    function getPost(){
    alert("safs");
    if (
    ajax_obj.readyState == 4)
     {
    alert("");
    }



    an der php Datei?:
    PHP-Code:

    <?php
    if(isset($_GET['check']))
    {

         
    $xml '<?xml version="1.0" encoding="ISO8859-1"?>';
         
    $xml .= '<start>';




               
    $xml .= '<dataset>';

               
    $xml .= 'Test';

               
    $xml .= '</dataset>';


         
    $xml .= '</start>';

         
    header('Content-Type: text/xml');

         echo 
    $xml;

    }
    ?>


    Gruß Sebi

  • #2
    Re: Problem mit AJAX/XML

    Original geschrieben von php-sebi
    Ich verweise mit req.onreadystatechange = getPost; auf die function getPost. Die wird 4mal ausgeführt, ist das normal?
    Ja.
    Na ja, auf jedenfall wird die Bedingung if (ajax_obj.readyState == 4) nicht erfüllt. Wo dran kan das liegen?
    Kontrollausgaben ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Sorry.
      Problem gelöst:
      ICh Vollidiot hab in der initAjax var falsch benannt.

      Kommentar


      • #4
        Jetzt hab ich doch noch eine (hoffentlich sinnvollere) Frage:
        Irgendetwas scheint hier net richtig zu sein
        PHP-Code:
        posts=req.respon************ML;
        //Diese Zeile wird net ausgeführt:
        alert(posts.getElementsByTagName("dataset")[0].firstChild.data); 
        Dies ist der js-Teil der die Daten von einem PHP-script annimmt. Wenn ich mir req.responseText durch einen alert anzeigen lasse funktioniert das Einwand frei. Nur mit xml funtzts net. irgendetwas scheint in diser 2. Zeile falsch zu sein.
        (Die php hab ich ja schon gepostet).

        Was is in dieser Zeile falsch?

        Kommentar


        • #5
          Original geschrieben von php-sebi
          PHP-Code:
          $xml = '<?xml version="1.0" encoding="ISO8859-1"?>';
          Du meinst iso[color=red]-[/color]8859-1.
          Wenn ich mir req.responseText durch einen alert anzeigen lasse funktioniert das Einwand frei. Nur mit xml funtzts net. irgendetwas scheint in diser 2. Zeile falsch zu sein.
          Debugge schrittweise.

          Was liefert
          alert(posts.getElementsByTagName("dataset").length)
          ?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            hm, liefert 0 zurück.

            Kommentar


            • #7
              So ich hab mir gedacht jetzt post ich noch den Rest des Quelltexts:
              PHP-Code:
              function initAjax()
                {
                
                   try {
                      if( 
              window.XMLHttpRequest ) {
                        
              req = new XMLHttpRequest();
                      } else if( 
              window.ActiveXObject ) {
                       
                      try {        
                              
              req =  new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {   
                        try {      
                              
              req = new ActiveXObject("Microsoft.XMLHTTP"); 
                             } catch (
              e) {  
                              }}
                      } else {
                        
              alert"Ihr Webbrowser unterstuetzt leider kein Ajax!" );
                      }
                      
                    } catch( 
              ) {
                      
              alert"Fehler: " );
                    }
                  } 

              und


              PHP-Code:
               function send(){
              initAjax();
              req.open"GET""check.php?check=true"true );
                      
              req.onreadystatechange getPost;
                      
              req.sendnull );


              in getPost is req.respon************ML; drin (s. oben)

              Gruß Sebi

              Kommentar


              • #8
                kann mir bitte jemand helfen?

                Kommentar

                Lädt...
                X