2 Stimmen

Versand von Bestätigungsmeldungen von Node/Express an den Browser ohne Neuladen der Seite

Ich habe eine Web-App mit einem funktionierenden Benutzerauthentifizierungssystem. Wenn der Benutzer seine Daten aktualisiert (z.B. E-Mail-Adresse oder Passwort), wird ein POST-Request an den Server gesendet, der wiederum die Datenbank aktualisiert. Ich möchte gerne, dass bei Erfolg oder Fehler ein Bootstrap-Style Block-Alert auf der bestehenden Seite angezeigt wird. Kann ich dies über eine Kombination aus (1) einer res.send-Antwort vom Server und (2) einem jQuery-Skript realisieren, das auf die res.send-Daten wartet und den Block-Alert-HTML-Code in den Browser einfügt?

Der app.post-Block (der die aktualisierten Benutzerdaten über den Post-Request empfängt) sieht ungefähr so aus:

app.post('/updateuser', function(req, res) {
console.log(req.body);
[code here to update database]
res.send('[code to send to jQuery here]');

Der HTML-Code zur Darstellung des Block-Alerts ist:

    ×
    Erfolg! Benutzerdaten wurden aktualisiert.

Wenn dies möglich ist, wie würden (a) die Server-seitige res.send- oder ähnliche und (b) die Client-seitigen jQuery-Code aussehen?

Vielen Dank im Voraus!

0voto

Dan Kohn Punkte 32574

Was du suchst, ist connect-flash: https://github.com/jaredhanson/connect-flash

Sieh dir das Beispiel https://github.com/jaredhanson/connect-flash/blob/master/examples/express3/views/index.ejs an, um den Flash in deinem gerenderten Template anzuzeigen oder eine Benachrichtigung mit der Nachricht zu erstellen, falls gewünscht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X