Variablen mit Ajax übergeben

weedo

Erfahrenes Mitglied
Hi,

ich wollte mir mal das Universum von Ajax anschauen und bin relativ schnell an meine Grenzen gestoßen. Deshalb suche ich jetzt Rat bei euch.

Ich habe 3 Datein:

Die Index.php:
HTML:
<html>
    <head>
        <title>Meine ersten Ajax Erfahrungen</title>
        <script type="text/javascript" src="datei.js"></script>
    </head>
    <body>
          <form action="#" methode="post">
            <input type="text" name="aktion" onChange="doIt('test.php');" value="Mach was!"/>
          </form>
        <div id="eins" style="width: 80%; height: 80%; border: dashed 1px;">
        </div>
    </body>
</html>

die Ajax datei, die ich Im internet gefunden habe und versucht habe zu verstehen:
Code:
<!--
   function doIt(datei){
      var req = null;
      try{
          req = new XMLHttpRequest();
      }
      catch (ms){
          try{
              req = new ActiveXObject("Msxml2.XMLHTTP");
          } 
          catch (nonms){
              try{
                  req = new ActiveXObject("Microsoft.XMLHTTP");
              } 
              catch (failed){
                  req = null;
              }
          }  
      }
      if (req == null)
            alert("Error creating request object!");   
            req.open("GET", datei, true);
      req.onreadystatechange = function(){            
          switch(req.readyState) {
                  case 4:
                  if(req.status!=200) {
                      alert("Fehler:"+req.status); 
                  }else{    
                      document.getElementById('eins').innerHTML = '<strong>'+
                                                              req.responseText
                                                              +'</strong>';
                  }
                  break;
          
                  default:
                      return false;
                  break;     
              }
          };

        req.setRequestHeader("Content-Type",
                            "application/x-www-form-urlencoded");
      req.send(null);
  }
//-->

Und die einfache test.php

PHP:
<?php

  phpinfo();

?>

Soweit funktioniert es auch. Ich ändere den Text im Textfeld und das Script schreibt mir den Inhalt aus phpinfo in meinen Divcontainer.

Drücke ich allerdings Enter, bekomme ich ein alert mit inhalt "Fehler 0". Was hat das zu bedeuten?

Außerdem wollte ich gerne in meine Phpdatei eine Ifabfrage setzen. In Etwa so:

PHP:
<?php if($_GET["aktion"] == "blubb") {
  phpinfo();
}
?>

wenn ich das mache funktioniert aber garnichts mehr :(

Weiß jemand Rat? Danke im vorraus

Lg weedo
 
Hi,

das Meldungfenster mit der Mitteilung "Fehler 0" erhalte ich nicht. In welchem Browser tritt das Problem bei dir auf?

Um auf der Serverseite die Abfrage stellen zu können, musst du den Parameter übergeben:
Code:
req.open("GET", datei+"?aktion=blubb", true);

Ciao
Quaese
 
Der fehler trat im Firefox auf. Ansonsten hat alles super geklappt.

ich hab meine Funktion einfach mit einem Objekt erweitert, das mein Inputfeld ausliest und an req.open() weitergibt. Danke für die schnelle Hilfe :)
 

Neue Beiträge

Zurück