node.js - NODE 检索表单变量

标签 node.js ajax

我是法国人,没有人说英语,所以所有内容都是由谷歌翻译的! 我是 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 +'.');
        });
在控制台上,我收到了这个返回

Reçue: /connexion .
POST reçu -----------------------------4511735334446617171533446239
Content-Disposition: form-data; name="pseudo"
 
Nath
-----------------------------4511735334446617171533446239
Content-Disposition: form-data; name="mdp"
 
moi
-----------------------------4511735334446617171533446239--
.
已经很好了,我看到表格已发送!

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

你能帮助我理解并恢复这些值(value)观吗?

感谢您的帮助

最佳答案

“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 !');
        }
    }
});

});

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

关于node.js - NODE 检索表单变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52021322/

相关文章:

java - 使用 GWT 开发类似 google maps 的 Ajax 客户端

php - 通过 Ajax 加载重力形式会导致

javascript - 将 Rails 表单 POST 数据传递给 JS 点击事件

java - Ajax 回调不起作用。发送请求后没有任何反应

javascript - 如何使用 PHP 检测网页崩溃(不是浏览器崩溃)?

node.js - 已部署的 Bookshelf 教程应用程序 (App Engine/NodeJS) 的 CloudSQL 连接问题

javascript - npm 'websocket' 服务器向客户端发送消息

javascript - NodeJS Promise (Q) - 如果 promise 失败,如何获取值?

node.js - express.Router 和 app.get 的区别?

javascript - 无法访问jquery和ajax的功能