Отправка данных от Javascript до Node.js - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь создать очень базовую c функцию,

предположим, что мои javascript данные const data = 1234;

как мне отправить эти данные на созданный мной сервер узлов используя express framework

const express = require("express");
const app = new express();

app.get("/", (req, res) => {
    res.send("home");
});

app.post("/datastream", function (req, res) {
    res.send('You sent the data: "' + req.body.data + '".');
});

const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`server started on port ${PORT}`));

Ответы [ 2 ]

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

Если вы хотите отправить его из браузера, и ваш сервер работает локально:

const data = 1234
fetch('http://localhost:5000/datastream', {
  method: 'POST',
  body: JSON.stringify({ data }),
  headers: { 'Content-Type': 'application/json' }
})
  .then(response => response.text())
  .then(data => console.log(data))
  .catch(err => console.log(err))

Теперь вам нужно установить промежуточное ПО body-parser, чтобы иметь возможность десериализовать ваши JSON данные npm install body-parser и прикрепите его к вашему приложению. Добавьте это к коду вашего сервера:

const bodyParser = require('body-parser')
// ...
app.use(bodyParser.json())

Если все прошло хорошо (ваш сервер работает на указанном порту), то после лога кода вашего браузера

должно появиться сообщение You sent the data: 1234.
0 голосов
/ 21 апреля 2020

Вы можете отправлять данные с клиента на сервер, используя метод fetch (пример основы c):

const data = 1234;
fetch('/datastream', {
    method:"POST", 
    body: JSON.stringify({data: data})
  }).then((response) => {
    return response.json();
  })
  .then((data) => {
    console.log(data);
  })
  .catch(function(err) {  
    console.log('Fetch Error :' + err);  
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...