Ich kann die Aktualisierung der Seite nach einem Ajax-Anruf nicht beenden. Ich habe versucht, indem Sie e.preventDefault () setzen; und false zurückgeben; aber auch wieder meine Seite ist erfrischend.
Ich weiß nicht, was das Problem mit dem Code ist oder so. Bitte helfen Sie mir, die Aktualisierung der Seite nach einem Ajax-Anruf zu beenden. Die Lösung dieses Problems wäre für mich eine große Hilfe. Danke im Voraus.
Hier ist mein Code:
$(document).ready(function() {
$('#loginForm').on('click', function(e) {
e.preventDefault();
var formData = {
'uname' : $('#uname').val(),
'pwd' : $('#pwd').val()
};
$.ajax({
type : "POST",
url : "getresults.php",
data : formData
}).done(function(data) {
alert(data+"This is working");
}).fail(function(data) {
alert("This is not working");
});
});
});
Verweist die ID #loginForm
auf ein Formular? Wenn ja, müssen Sie das Einreichungsereignis statt des Klickens abhören. Wenn Sie das Klickereignis wirklich anhören müssen, müssen Sie das Ereignis an die Schaltfläche "Senden" oder an das, was die form.submit()
auslöst, binden.
Versuchen Sie etwas so:
$('#loginForm').on('submit', function(e) {
e.preventDefault();
e.stopPropagation(); // only neccessary if something above is listening to the (default-)event too
[YOUR CODE GOES HERE]
});
Dies sollte den Trick für Sie tun.
Das Hinzufügen des type="button"
-Attributs zur Schaltfläche hat mein Problem gelöst. Ansonsten wurde es als Übergabevorgang interpretiert.
Ich denke, nur das Hinzufügen von false nach der On-Click-Funktion stoppt die Aktualisierung der Seite
Das ist mir heute Abend passiert, und ich habe den Weg zu dieser Frage gefunden - Dies könnte ein langer Weg sein, aber mir wurde klar, was mein Problem war, und ich denke, dies könnte jemandem in der Zukunft helfen, der sich damit befasst.
Verwenden Sie lokal etwas wie live-server
oder eine andere Form von Skript, das den lokalen Code auf intelligente Weise aktualisiert, wenn neue Dateien im selben Arbeitsordner erscheinen? Wenn ja, wird die Seite nicht aufgrund Ihres Codes aktualisiert, sondern weil der von Ihnen aufgerufene Ajax den Ordner, in dem Sie gearbeitet haben, verändert hat, was zur Aktualisierung der Seite führt.