2016-04-04 13 views
0

bearbeiten Es ist etwas falsch, wie das Innere des .done Rückruf der Fehler nicht aus ausführen, selbst ein einfaches alert('something');

Ich habe festgestellt, ist spitz von Sverri Ich sollte beachten, dass dieses Skript extern enthalten ist, vielleicht ist das das Problem?

Die Anmeldung ist erfolgreich, wenn ich die gleiche Seite aktualisiere, die ich bin, werde ich von der PHP-Sitzung Catch auf der obersten Seite umgeleitet. Ich versuche, das Login-Zeug für PHP auf der gleichen Seite wie das Formular zu vermeiden, sondern es als separate Seite einzuschließen.

Wenn ich dies innerhalb der .DONE Catch verarbeitet, funktioniert die Weiterleitung nicht. Ich bin angemeldet, der Prozess funktioniert ohne Fehler. Deshalb, wenn ich dieselbe Seite (Login) aktualisiere, existiert eine Sitzung, so dass ich von der PHP-Weiterleitung weitergeleitet werde.

$.post("login.php", { 
    'variable1':$variable1, 
    'variable2':$variable2 
}).done(function() { 
    window.location = "next-page-url"; 
} 
}); 

AKTUALISIERT

$.post("login.php", { 
    'variable1':$variable1, 
    'variable2':$variable2 
}).done(function() { 
    window.location = "next-page-url"; 
}); 
+0

Mögliche Duplikat [Wie kann ich eine Seite Redirect mit jQuery machen?] (Http://stackoverflow.com/questions/503093/how-can-i-make-a-page-redirect-using- jquery) –

Antwort

1

Ihr Code hat kein größeres Problem, da Sie einfach andere Callback-Funktionen wie "Fail" oder direkten Rückruf überprüfen.

<script> 
    $(document).ready(function() { 
     alert("hello"); 
     $.post("/", { 
     "var": "hello", 
     "bar": "qwerty", 
     }).done(function() { 
     alert("hello !!"); 
     }).fail(function() { 
     window.location = "www.google.co.in"; 
     }); 
    }); 
    </script> 
+0

whoa! Es war ein Fehlschlag! Wie seltsam ... Ich muss den Fehler sehen. – janicehoplin

+0

Ich habe es, ich entwickle lokal und es war ein Fehler in Bezug auf die Verwendung von https, nach der Übertragung der gleichen Dateien an meine VPS mit einem SSL-Zertifikat und https aktiviert, der Erfolg ausgelöst. – janicehoplin

+1

Gut zu wissen @janicehoplin – pavanjoshi

1

Zunächst einmal, Ihr Code ist ungültig. Es gibt eine } am Ende, die nicht da sein sollte.

$.post("login.php", { // <- Open curly 
    'variable1':$variable1, 
    'variable2':$variable2 
}).done(function() { // <- Close and open curly 
    window.location = "next-page-url"; 
} // <- Close curly 
}); // <- Close curly (was never opened...) 

Versuchen Sie stattdessen:

$.post("login.php", { 
    variable1: $variable1, 
    variable2: $variable2, 
}).done(function() { 
    window.location = "next-page-url"; 
}); 

Was es nicht auf die neue Seite gehen, sehen this answer.

+0

Ich sehe, dass ich oben falsch geschrieben habe, aber in meinem tatsächlichen Code, der aussieht wie du es gezeigt hast, funktioniert es nicht. Ich habe sowohl window.location.href und window.location ausprobiert. Eine einfache Warnung ('etwas'); funktioniert so, dass es korrekt ausgeführt wird. Die Weiterleitung funktioniert nicht. – janicehoplin

+0

Ah. Siehe meine aktualisierte Antwort. –

+0

Leider kann ich immer noch nicht umleiten. Es scheint, dass ich nicht in der Lage bin, einen einfachen Alert() innerhalb der .done-Funktion auszulösen, obwohl es in Bezug auf die Syntax korrekt ist. Muss etwas aus der login.php-Datei zurückgegeben werden? Die login.php-Datei wird ohne Probleme ausgeführt, wenn ich eingeloggt bin, aber das Innere von .done wird nicht ausgelöst ... Gedanken? – janicehoplin

Verwandte Themen