@MaxYenot

Как получить на node.js сервере то, что пришло с фронтенда через XMLHttpRequest методом POST?

Здравствуйте. Попробую вкратце объяснить то, что я пытаюсь сделать.
Есть сайт, на котором имеется некоторая требуемая информация (примеры употребления слов).
Вручную копировать нужную информацию это долго, поэтому я написал js скрипт, который вытаскивает нужную инфу со страницы, и создает объект.
Я хочу отправить этот объект в виде JSON строки на сервер localhost:5000, который сделал на node.js и сохранить эту информацию. Воспользовался стандартным пакетом http:
const http = require('http')
const fs = require('fs')
const path = require('path') 
const url = require('url') 

const server = http.createServer()

server.on('request', (req, res) => {
    res.setHeader("Access-Control-Allow-Origin", "https://dictionary.cambridge.org/"); // запрос не отправлялся из-за CORS, но этот заголовок решил проблему
    //console.log(req) //выдавал огромную кучу всего в консоль
    console.log(req.rawHeaders) //здесь тоже нет того, что пришло с фронта
})
server.listen(5000)


Отправляю на сервер преобразованный в json массив с результатами. (Технически, я открываю консоль, находясь на нужном сайте, и вставляю написанный скрипт в эту консоль)
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost:5000/', true);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.onload = function () {
    console.log(this.responseText);
};
xhr.send(JSON.stringify(results)); // в массиве results лежат все нужные примеры с сайта


Проблем отправки с фронтенда нет, сервер что-то получает и выводит в консоль.
Но где, в каком поле/объекте на сервере лежит то, что я отправил с фронта? Я так и не нашёл.
Можно ли это сделать только лишь силами стандартного node http пакета? Поскольку цель достаточно простая - создать что-то вроде блокнота, куда отправляется структурированная информация с фронтенда, а информация эта уже сохраняется (скорее всего просто в .txt формат).
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы