我是法国人,而且没有英语,所以所有内容都由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变量的值。
您能帮助我理解和恢复这些值吗?
谢谢您的帮助
答案 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 !');
}
}
});
});
在服务器控制台中,变量显示为未定义。