Mike: Was bedeutet success?

Hallo,

  
        $.ajax({  
            type: \"POST\",  
            url: \"login.php\",  
            data: \"UserName\=\" + $(\"UserName\").val() + \"&UserPasswort=\" + $(\"#UserPasswort\").val(),  
            success: function(msg)  
            {  
            ...  

Was bedeutet hier an dieser Stelle das success genau?

Ist das ein Rückgabewert, den die Javascriptfunktion seitens des login.php - Skriptes bekommt?

Wenn ja, wie muß ich das im Script notieren?

Mike

  1. Tach,

    Ist das ein Rückgabewert, den die Javascriptfunktion seitens des login.php - Skriptes bekommt?

    nein, das ist die Funktion, die im Erfolgsfalle aufgerufen wird: http://api.jquery.com/jQuery.ajax/ (leider kein Anker für die einzelnen Parameter, musst selber runterscrollen).

    mfg
    Woodfighter

    1. nein, das ist die Funktion, die im Erfolgsfalle aufgerufen wird: http://api.jquery.com/jQuery.ajax/ (leider kein Anker für die einzelnen Parameter, musst selber runterscrollen).

      Hi Jens,

      ok. Das heißt, sobald die Funktion das angegebene Script anspricht, ist der Erfdolgsfall eingetreten?

      Mike

      1. Moin Mike,

        ok. Das heißt, sobald die Funktion das angegebene Script anspricht, ist der Erfdolgsfall eingetreten?

        Nein, so einfach ist das nicht. Zunächst einmal muss der HTTP-Statuscode 20x sein (etwa 200 oder 201). Weiterhin muss das Ergebnis, falls es JSON oder XML ist, für jQuery parsebar sein: wenn nicht explizit angegeben wird, welches Ergebnis erwartet wird, wird das aus dem Content-Type verwendet. Ist das Ergebnis parsebar (falls notwendig) und der Statuscode 20x, dann wird success ausgeführt.

        LG,
         CK

        1. Hi Christian,

          dank, verstanden.

          Ein Problem bleibt mir noch, ich bekomme die Daten nicht zum Script :-((

            
                  $.ajax({  
                  type: \"POST\",  
                  url: \"login.php\",  
          	formular: $(\"#login_Form\").serialize(),  
              	dataType: \"json\",  
              	success: function(data){  
                  ...  
          
          
            
          $form = $_POST['formular'];  
          parse_str($form, $neues_array);  
          $test = $neues_array['UserName'];  
            
          //In Kontrolldatei eintragen  
            $datei = fopen("___a_log.txt","a");  
            fwrite($datei, $test);  
            fclose($datei);  
          
          

          Es wird kein Username eingetragen.

          Mike

          1. Tach,

            Ein Problem bleibt mir noch, ich bekomme die Daten nicht zum Script :-((

            ich mache mal den dedlfix: Und was hat dein Debugging ergeben? Gibt es einen Javascript-Fehler? Wird die PHP-Seite aufgerufen? Welche Daten werden übergeben? Welcher Statuscode kommt zurück? Was steht in $_POST['formular'], $neues_array und $test?

            Helfen sollten dir dabei die Fehlerkonsole deines Browsers, ein Debugging-Tool wie Firebug und Kontrollausgaben in deinen Programmen.

            mfg
            Woodfighter

            1. Tach,

              Ein Problem bleibt mir noch, ich bekomme die Daten nicht zum Script :-((

              ich mache mal den dedlfix: Und was hat dein Debugging ergeben? Gibt es einen Javascript-Fehler? Wird die PHP-Seite aufgerufen? Welche Daten werden übergeben? Welcher Statuscode kommt zurück? Was steht in $_POST['formular'], $neues_array und $test?

              Och Jens,

              Ich mach hier schon seit Stunden hin und her und es geht mir wirklich nicht darum, Code zu schnorren.

              Kommt jetzt grad nicht sooo gut an, Dein post.

              Mike

              1. Hallo,

                Kommt jetzt grad nicht sooo gut an, Dein post.

                Er versucht, dir das Angeln beizubringen, damit du nicht täglich die Fischer anbetteln musst.

                Gruß
                Kalk

                1. Er versucht, dir das Angeln beizubringen, damit du nicht täglich die Fischer anbetteln musst.

                  Ist mir klar. Ist mir auch klar, dass dasok ist.
                  Aber ich verzweifel grad ein bisschen.

                  Also:

                  Script wird angesprochen, aber

                  fwrite($datei, "test-".$test."\n");
                    fwrite($datei, "form-".$form."\n");
                    fwrite($datei, "neues array-".$neues_array."\n");

                  ergibt in der Logdatei:

                  test-
                  form-
                  neues array-Array

                  Mike

                  1. Also:

                    Script wird angesprochen, aber

                    fwrite($datei, "test-".$test."\n");
                      fwrite($datei, "form-".$form."\n");
                      fwrite($datei, "neues array-".$neues_array."\n");

                    ergibt in der Logdatei:

                    test-
                    form-
                    neues array-Array

                    bezogen allerdings auf

                    ...
                    data: $('#my_login_Form :input[value]').serialize(),
                    ...

                    Ich weiß nicht, wo der Fehler ist.

                    Mike

                    1. probier doch mal, das ganze etwas runter zu brechen.
                      data: test

                      onsucess(data){
                      alert(data)
                      }

                      im php-Skript

                      echo "test";

                      ganz einfach alles erstmal.

                      1. probier doch mal, das ganze etwas runter zu brechen.
                        data: test

                        onsucess(data){
                        alert(data)
                        }

                        im php-Skript

                        echo "test";

                        ganz einfach alles erstmal.

                        ...ist doch ajax, daher der logtexteintrag...

                        1. ...ist doch ajax, daher der logtexteintrag...

                          über success(data) bekommst du auch das zurück, was das skript zum Beispiel mit echo ausgibt... ich kenne zwar jquery nicht, aber mootools ist ja ähnlich.

                          1. ...ist doch ajax, daher der logtexteintrag...

                            über success(data) bekommst du auch das zurück, was das skript zum Beispiel mit echo ausgibt... ich kenne zwar jquery nicht, aber mootools ist ja ähnlich.

                            alert(data) ergibt

                            [object Object]

                            1. ...ist doch ajax, daher der logtexteintrag...

                              über success(data) bekommst du auch das zurück, was das skript zum Beispiel mit echo ausgibt... ich kenne zwar jquery nicht, aber mootools ist ja ähnlich.

                              alert(data) ergibt

                              [object Object]

                              wunderbar. Was gibt das php-skript zurück? Was für Eigenschaften hat das Object?

                              1. wunderbar. Was gibt das php-skript zurück? Was für Eigenschaften hat das Object?

                                Das Script arbeitet, aber die Daten kommen nicht an, d.h. es wird in die Lag-Datei ncihts eingetragen.

                                Eigenschaften des Objects?

                                Das weiß ich nicht, wie ich ermitteln soll.

                                Mike

                                1. Übrigens, so funktioniert es:

                                    
                                  data: { Name: $('#Name').val(),Passwort: $('#Passwort').val() },  
                                  
                                  

                                  Hierbei bleibt alert data immer noch object Object, aber im php-script kommen die $_PPOST Daten prima an.

                                  Mike

                                  1. Hi,

                                    Übrigens, so funktioniert es:

                                    data: { Name: $('#Name').val(),Passwort: $('#Passwort').val() }

                                    ach nee?

                                    Hierbei bleibt alert data immer noch object Object

                                    Naja, du forderst JSON an, also bekommst du auch ein Objekt, das aus der JSON-Notation gebildet wird.

                                    Ciao,
                                     Martin

                                    --
                                    Ich habe gerade erfahren, dass Tante Frieda gestorben ist. Der Tod hat sie im Schlaf ereilt. - Schrecklich. Dann weiß sie es also noch gar nicht?
                                    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                                2. wunderbar. Was gibt das php-skript zurück? Was für Eigenschaften hat das Object?

                                  Das Script arbeitet, aber die Daten kommen nicht an, d.h. es wird in die Lag-Datei ncihts eingetragen.

                                  ich sagt doch: einfacher testcase. Nur Ausgabe in der der php-Datei. Lass das loggen in die Datei weg.

                                  test.php

                                    
                                  <?php  
                                    
                                  echo "testausgabe";  
                                    
                                  
                                  

                                  was passiert in

                                    
                                  success(response){  
                                  alert(response);  
                                  }  
                                  
                                  

                                  ansonsten beschäftige dich bitte mal mit den Grundlagen von ajax bzw. ajax in jQuery. Da gibt sicher Tutorials. Ist ja alles kein Hexenwerk.

          2. Hallo,

            $.ajax({

            type: "POST",
                    url: "login.php",
            formular: $("#login_Form").serialize(),
                 dataType: "json",
                 success: function(data){
                    ...

              
            gerade da, wo's interessant wird, brichst du ab. Was macht deine success-Funktion mit der Server-Antwort?  
            Und noch viel spannender finde ich die Frage, wo du denn die POST-Daten bereitstellst, die dein POST-Request übergeben soll. Mit anderen Worten: Ich vermisse die Stelle, wo du das data-Feld mit Werten versorgst.  
              
            
            > ~~~php
            
            $form = $_POST['formular'];  
            
            > parse_str($form, $neues_array);  
            > $test = $neues_array['UserName'];  
            >   
            > //In Kontrolldatei eintragen  
            >   $datei = fopen("___a_log.txt","a");  
            >   fwrite($datei, $test);  
            >   fclose($datei);  
            > 
            
            

            Es wird kein Username eingetragen.

            Klar, weil gar keiner ankommt - genaugenommen überhaupt keine POST-Daten. $_POST dürfte leer sein. Hast du das auch festgestellt? Wenn ja, welchen Schluss hast du daraus gezogen?

            So long,
             Martin

            --
            Die meisten Menschen werden früher oder später durch Computer ersetzt.
            Für manche würde aber auch schon ein einfacher Taschenrechner genügen.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. gerade da, wo's interessant wird, brichst du ab. Was macht deine success-Funktion mit der Server-Antwort?
              Und noch viel spannender finde ich die Frage, wo du denn die POST-Daten bereitstellst, die dein POST-Request übergeben soll. Mit anderen Worten: Ich vermisse die Stelle, wo du das data-Feld mit Werten versorgst.

              Es wird kein Username eingetragen.

              Klar, weil gar keiner ankommt - genaugenommen überhaupt keine POST-Daten. $_POST dürfte leer sein. Hast du das auch festgestellt? Wenn ja, welchen Schluss hast du daraus gezogen?

              Hi Martin,

              Mist, ich hatte Dein Post überlesen. Das ist sicherlich der beste Tip hier gewesen oder anders, der Tip, der mich am weitesten gebracht hätte.

              Mike