Bonjour,
Précédemment, je vous avais demandé comment lire une variable en allant de node au jade. Maintenant je voudrais récupérer les variables de mon jade vers mon node. Quelqu'un peut il m'aider ?
Merci d'avance :)
Version imprimable
Bonjour,
Précédemment, je vous avais demandé comment lire une variable en allant de node au jade. Maintenant je voudrais récupérer les variables de mon jade vers mon node. Quelqu'un peut il m'aider ?
Merci d'avance :)
?!? bha avec un formulaire, ou je n'ai pas compris la question.Citation:
je voudrais récupérer les variables de mon jade vers mon node
Oui, je les récupère dans un formulaire, mais je voudrais les transferer du client au serveur :)
Je vous mets une partie de mon code client si ca peut aider :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 form(action='/plugins/Settings/save' method='post') label Disk1 input(type="text" id="Disk1" class="form-control" placeholder="Disabled input" value=globals.Disk1) label FTPSite1 input(type="text" id="FTPSite1" class="form-control" placeholder="Disabled input" value=globals.FTPSite1) label FTPUser1 input(type="text" id="FTPUser1" class="form-control" placeholder="Disabled input" value=globals.FTPUser1) label FTPPass1 input(type="text" id="FTPPass1" class="form-control" placeholder="Disabled input" value=globals.FTPPass1) label SystemName input(type="text" id="SystemName" class="form-control" placeholder="Disabled input" value=globals.SystemName) label DVRPath input(type="text" id="DVRPath" class="form-control" placeholder="Disabled input" value=globals.DVRPath) label SaveScreenshot input(type="text" id="SaveScreenshot" class="form-control" placeholder="Disabled input" value=globals.SaveScreenshot) label SystemNameInFtpRoot input(type="text" id="SystemNameInFtpRoot" class="form-control" placeholder="Disabled input" value=globals.SystemNameInFtpRoot) input#Submit(class="btn btn-primary" type='submit' value="Sauvegarder")
pour afficher ton formulaire, tu dois faire:
et dedans tu utilise la methode post:Code:
1
2
3
4
5
6 var express = require('express'); var router = express.Router(); router.get('/urlDeMonFormulaire', function(req, res) { ... })
reste plus qu'à utiliser la même methode coté serveur:Code:form(action='/plugins/Settings/save' method='post')
Code:
1
2
3
4 router.post('/plugins/Settings/save', function(req, res) { // les variables de ton formulaires se trouvent dans req.body });
Mon req.body est vide... Est-ce normal ?
Oui, car tu n'as pas nommé tes input, et avec jade, chaque paramètre de balise dois être séparé par une virgule. (tu peux aussi sortir tes classes)Citation:
Mon req.body est vide... Est-ce normal ?
assure toi aussi d'avoir un parseur dans ton app.js:Code:input.form-control(type="text", id="Disk1", placeholder="Disabled input", value=globals.Disk1, name="Disk1" )
Code:
1
2 app.use(bodyParser.json()); app.use(bodyParser.urlencoded());
Merci ! Ca fonctionne beaucoup mieux :D