Was bedeutet success?
Mike
- javascript
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
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
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
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
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
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
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
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
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
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
probier doch mal, das ganze etwas runter zu brechen.
data: test
onsucess(data){
alert(data)
}
im php-Skript
echo "test";
ganz einfach alles erstmal.
probier doch mal, das ganze etwas runter zu brechen.
data: testonsucess(data){
alert(data)
}im php-Skript
echo "test";
ganz einfach alles erstmal.
...ist doch ajax, daher der logtexteintrag...
...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.
...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]
...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?
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
Ü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
Hi,
Übrigens, so funktioniert es:
data: { Name: $('#Name').val(),Passwort: $('#Passwort').val() }
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
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.
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
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