[AJAX] Fehlerhafte bzw. keine Get übergabe

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

  • [AJAX] Fehlerhafte bzw. keine Get übergabe

    Also ich hab ein sehr merkwürdiges Problem.

    Ich hab mir einen kleinen AJax Chat zusammen gebastelt. Als ich es getestet habe hat es auf einem Windows 2000 PC wunderbar funktioniert. Bei mir auf nem XP Rechner funktioniert es bloß im IE aber nicht im Mozilla(Version 2.0.0.6). Woran kann das liegen gibts da unterschiede im IE und Mozilla bei AJAX?

    Hier mal der HTML-Teil:

    PHP-Code:

    <select name="s_chat_to" size="1" id="to">
        <
    option value="x">Alle</option>';
        foreach($dUser as $key => $value){
            if($value['
    id'] != $_SESSION['sess_aid']){
                echo '
    <option value="'.$value['id'].'">'.$value['kurz'].'</option>';
            }
        }
    echo'
    </select>


    <
    input type="submit" name="btnChat" value="senden" class="boxesSub" onclick="sendmsg();" disabled />'; 
    Und hier der JS Teil:

    PHP-Code:

    function createXMLHttpRequest() {
        var 
    ua;
        if(
    window.XMLHttpRequest) {
            try {
              
    ua = new XMLHttpRequest();
            } catch(
    e) {
              
    ua false;
            }
        } else if(
    window.ActiveXObject) {
            try {
              
    ua = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(
    e) {
              
    ua false;
            }
        }
      return 
    ua;
    }
    var 
    msgReq createXMLHttpRequest();

    function 
    sendmsg() {
            var 
    msg document.getElementById('aj_chat').value;
            var 
    to document.getElementById('to').value;
            var 
    by document.getElementById('by').value;
            
    msgReq.open("GET"'url/msg.php?msg=' msg '&to=' to '&by=' by);
            
    msgReq.onreadystatechange handlemsgsend;
            
    msgReq.send(null);
    }
    function 
    handlemsgsend() {
        if (
    msgReq.readyState == 4)
        {

        }

    In meiner PHP wird mit hilfe der GET variablen ein INSERT gemacht. und der Funktioniert hab ihn getestet.
    Lurchi ! Lurchi ! Lurchi !

  • #2
    Erzähl doch mal, was nicht funktioniert!!

    Kommentar


    • #3
      ... funktioniert es bloß im IE aber nicht im Mozilla(Version 2.0.0.6).
      Was sagt denn die Fehlerkonsole des FF ?
      Woran kann das liegen gibts da unterschiede im IE und Mozilla bei AJAX?
      Keine Ahnung worans liegen könnte, aber Unterschiede zwischen den Browsern bei AJAX gibt es sehr wohl. Sonst müsstest du keine Fallunterscheidung bei Erstellung XMLHTTP-Objekts machen.
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Original geschrieben von PHP-Desaster
        Erzähl doch mal, was nicht funktioniert!!
        Also er speichert die messages nicht in der Datenbank weil er anscheinden keine GET-Variablen übergeben bekommt. Und wenn ich meinen Insert im alert ausgeben will zeigt er mir den nicht an, aber am Windows 2000 PC und in meinem IE schon.

        Ich bekomm keine JS Fehler.
        Zuletzt geändert von Anbu; 17.09.2007, 12:26.
        Lurchi ! Lurchi ! Lurchi !

        Kommentar


        • #5
          Geht denn überhaupt im FF ein Request an der Server los ? Haste die header z.B. mit LiveHeader Ext geprüft ? Aunf Windows 2k funzt es auch im FF ?
          Haste im FF geprüft, ob die Erstellung des XMLHTTP-Objekts überhaupt klappt ? Falls nicht dann schau mal hier vorbei
          Zuletzt geändert von jahlives; 17.09.2007, 12:29.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Also auf dem Windows 2k funzt im FF. Ja ich mein er geht ja in meine handlesendmsg funktion rein dann muss doch ein XMLHTTP-Objekt erstellt worden sein wenn ich mich nicht irre.

            Ich les mir das mal durch.
            Lurchi ! Lurchi ! Lurchi !

            Kommentar


            • #7
              hmm also hab die erstellung meines XMLHTTP Obkjekt geändert funzt aber immer noch nicht.

              PHP-Code:

              //allgemeine Definition für AJAX Request
              var xmlhttp=false;

              if (@
              _jscript_version >= 5)
              // JScript gives us Conditional compilation, we can cope with old IE versions.
              // and security blocked creation of the objects.
               
              try {
                
              xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
               } catch (
              e) {
                try {
                 
              xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (
              E) {
                 
              xmlhttp false;
                }
               }

              if (!
              xmlhttp && typeof XMLHttpRequest!='undefined') {
                  try {
                      
              xmlhttp = new XMLHttpRequest();
                  } catch (
              e) {
                      
              xmlhttp=false;
                  }
              }
              if (!
              xmlhttp && window.createRequest) {
                  try {
                      
              xmlhttp window.createRequest();
                  } catch (
              e) {
                      
              xmlhttp=false;
                  }
              }
              var 
              msgReq xmlhttp
              Lurchi ! Lurchi ! Lurchi !

              Kommentar


              • #8

                OK ich weiß nicht wie aber es funktioniert jetzt.

                Ich hab jetzt meinen Firebug für die Seite aktiviert und schon funktioniert es. Ich hab nichts am Script geändert.
                Zuletzt geändert von Anbu; 17.09.2007, 16:03.
                Lurchi ! Lurchi ! Lurchi !

                Kommentar


                • #9
                  Kann mir jemand vielleicht sagen was der Firebug macht das mein AJAX Script funktioniert?

                  Wenn ich ihn abstelle funktionierts wieder nicht und er übergibt meiner php Seite keine GET variablen, nichts.


                  Gibt der Firebug vielleicht n Header oder sowas mit?


                  Hat jemand vielleicht rausgefunden warum bei mir keine GET Variablen weitergegeben werden?

                  Hier nochmal mein HTML-Teil:

                  PHP-Code:

                  <select name="s_chat_to" size="1" id="to">
                      <
                  option value="x">Alle</option>';
                      foreach($dUser as $key => $value){
                          if($value['
                  id'] != $_SESSION['sess_aid']){
                              echo '
                  <option value="'.$value['id'].'">'.$value['kurz'].'</option>';
                          }
                      }
                  echo'
                  </select>

                  <
                  textarea name="i_chat" cols="77" rows="3" 
                  class="boxes" id="aj_chat" onfocus="chk_value();" onkeyup="chk_value();">
                  </
                  textarea>&nbsp;
                  <
                  input type="submit" name="btnChat" value="senden" class="boxesSub" onclick="sendmsg();" disabled />'; 
                  Und hier der JS Teil:

                  PHP-Code:

                  function createXMLHttpRequest() {
                      var 
                  ua;
                      if(
                  window.XMLHttpRequest) {
                          try {
                            
                  ua = new XMLHttpRequest();
                          } catch(
                  e) {
                            
                  ua false;
                          }
                      } else if(
                  window.ActiveXObject) {
                          try {
                            
                  ua = new ActiveXObject("Microsoft.XMLHTTP");
                          } catch(
                  e) {
                            
                  ua false;
                          }
                      }
                    return 
                  ua;
                  }
                  var 
                  msgReq createXMLHttpRequest();

                  function 
                  sendmsg() {
                          var 
                  msg document.getElementById('aj_chat').value;
                          var 
                  to document.getElementById('to').value;
                          var 
                  by document.getElementById('by').value;
                          
                  msgReq.open("GET"'url/msg.php?msg=' msg '&to=' to '&by=' by);
                          
                  msgReq.onreadystatechange handlemsgsend;
                          
                  msgReq.send(null);
                  }
                  function 
                  handlemsgsend() {
                      if (
                  msgReq.readyState == 4)
                      {

                      }

                  Zuletzt geändert von Anbu; 19.09.2007, 12:23.
                  Lurchi ! Lurchi ! Lurchi !

                  Kommentar


                  • #10
                    Lurchi ! Lurchi ! Lurchi !

                    Kommentar

                    Lädt...
                    X