NODE检索表单变量

时间:2018-08-25 21:21:26

标签: node.js ajax

我是法国人,而且没有英语,所以所有内容都由Google翻译! 我是NODE的初学者。

在我的index.html文件中,有一种形式是通过POST方法通过$ .ajax发送到服务器的。

要在服务器上检索此表单

\\
然后在控制台上,我以回信的方式收到此消息

app.post('/connexion', function (req, res) {
 
    var postData = '';
    var pathname = url.parse(req.url).pathname;
        console.log('Reçue: '+ pathname +' .');
        req.setEncoding('utf8');
        req.addListener('data', function(postDataChunk) {
            postData += postDataChunk;
            console.log('POST reçu ' + postDataChunk +'.');
        });
已经很好,我看到表格已发送!

但是我没有找到如何检索伪和mdp变量的值。

您能帮助我理解和恢复这些值吗?

谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

“ body-parser”非常适合从表单中恢复“正常”发送的变量,但是如果我通过$ .ajax在post方法中发送它们,我将无法检索到这些变量。 也许我做错了工作。 在我的服务器文件上

app.post('/', function(req, res) {
var pseudo = req.body.pseudo;
var mdp = req.body.MdP;

console.log(pseudo);
console.log(mdp);

res.send(true);

});

在client.js中

$('#connect_Chat').on('submit', function (event) {
event.preventDefault();
//on récupère le pseudo et le mot de passe
var pseudo =  $('#login').val().trim();
var mdp = $('#MdP').val();
var formDataConnectUser = new FormData();
formDataConnectUser.append('pseudo', pseudo);
formDataConnectUser.append('MdP', mdp);
$.ajax({
    url: 'https://localhost:8080/',
    type: 'post',
    data: formDataConnectUser,
    processData: false,
    contentType: false,
    success: function(data) {
        if (data === true) {
            $('body').removeAttr('id');
            $('#text-plus-4').modal('hide');
            $('#boutonConnexion').html('<div class="form-group" style="float:right;"><label for="n">Votre pseudo :</label><input type="text" class="pseudoNew" value="'+user.username+'" disabled="disabled"></div>');
            $('#envoi_message').removeAttr('disabled');
            $('#message').removeAttr('disabled');
            $('#message').focus();
        } else {
            alert('Mauvais pseudo ou Mot de Passe !');
        }
    }
});

});

在服务器控制台中,变量显示为未定义。