Как получить доступ к данным, которые я публикую на стороне клиента (NodeJs) - PullRequest
0 голосов
/ 14 апреля 2020

Я собираю некоторые данные в JS;

var dataset = {
    "name" : undefined,
    "pass" : undefined,
    "email" : undefined,
    "birthday" : undefined,
    "agree" : false
}

function data () {

    dataset = {
        "name" : document.getElementsByName("name")[0].value,
        "pass" : document.getElementsByName("pass")[0].value,
        "email" : document.getElementsByName("email")[0].value,
        "birthday" : document.getElementsByName("birthday")[0].value,
        "agree" : false
    }

    if(document.getElementById("signupcheck").className.search("active") > -1) dataset.agree = true;

}

И у меня есть NodeJs страница

var express = require("express");
var app = express();

app.use(express.static('public'));

app.get("/",function(req,res){
    res.sendFile(__dirname + "/index.html");
})

Я хочу опубликовать массив 'набор данных' на стороне сервера, и доступ на странице NodeJs, но я не могу. Я пытался отправить с Ajax, как в коде, но мне не удалось:

const xhttp = new XMLHttpRequest();
xhttp.open("POST", "/example");
xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhttp.send("name=weweww&urd=sss");

NodeJs:

app.post("/example", function(req,res) {
  console.log(req.body)
})

На терминале возвращается «undefined». Как я могу получить доступ к данным, которые я публикую на стороне клиента?

1 Ответ

1 голос
/ 14 апреля 2020

вам нужно использовать body-parser модуль node js для получения данных в req.body

npm install body-parser

в app.js

var bodyParser = require('body-parser')

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

для получения более подробной информации

Express анализатор тела анализатор тела NPM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...