wake-up-neo.net

So beenden Sie die Aktualisierung der Seite nach einem Ajax-Aufruf

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");
        });
    });
});
16
Pradeepb

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.

17
Sebastian Bork

Das Hinzufügen des type="button"-Attributs zur Schaltfläche hat mein Problem gelöst. Ansonsten wurde es als Übergabevorgang interpretiert.

23
isidat

Ich denke, nur das Hinzufügen von false nach der On-Click-Funktion stoppt die Aktualisierung der Seite

6
deenbandhu

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.

1
fanfare