2013-08-26 4 views
5

Ich habe 3 Formulare in einer Ansicht, die bei der Einreichung neue Einträge in einer MySQL-Datenbank hinzufügen. Ich möchte eine Warnung mit dem Hinweis "Sie haben erfolgreich X hinzugefügt" senden, wenn ein Eintrag hinzugefügt wird, ohne von der Seite zu navigieren.Express.js - Senden Sie eine Warnung als Antwort, während Sie auf der gleichen Seite bleiben

// Form to be Submitted 
<form method="post" action="route/action/"> 
    <input type="text" name="name"> 
</form> 


// Route 
exports.action = function (req, res) { 

    client.query(); 

    // What kind of response to send? 
} 

Wie kann ich einen Alarm senden? Welche Art von Antwort sollte ich senden?

Vielen Dank!

+0

einfach das Formular über Ajax haben könnte senden, eine JSON Antwort senden und die Warnung angezeigt werden basierend auf den Daten. Oder, da Sie den Knoten verwenden, sollten Sie sich vielleicht http://socket.io/ ansehen ... –

+1

Senden Sie die Variablen über AJAX (jQuery) und geben Sie eine res.json (true) und in der SUCCESS-Funktion die Warnung ausgeben? –

Antwort

5

Was Sie tun müssen, ist AJAX-Anfrage an Ihren Express-Server und Auswertung der Antwort und warnt den Benutzer entsprechend. Dieser Client-Teil würden Sie genauso wie andere Programmiersprache tun.

zum Beispiel. in jquery Teil Client-Seite Sie diese

$.ajax({ 
url: 'route/action/', 
type: "POST", 
data: 'your form data', 
success: function(response){ 
    alert('evaluate response and show alert'); 
} 
}); 

In Ihrem epxress App tun können Sie so etwas wie dieses

app.post('route/action', function(req, res){ 
    //process request here and do your db queries 
    //then send response. may be json response 
    res.json({success: true}); 
}); 
Verwandte Themen