Доброго всем дня!
Решаю следующую задачу: на HTML-странице, использующей css и javascript (естественно все файлы расположены в любой папке на клиенте) необходимо, в зависимости от введённой пользователем информации, записать значения полей в текстовой файл, чтобы потом при открытии этой страницы - можно было данные подгрузить и считать, а не набирать заново.
Девелоперы (я - не они) подсказали, чтобы я забыл об этом и думал в сторону Node.js. Ну я подумал и решил протестить решение. В результате чего, на той машине, где HTML-страница был установлен и запущен Node.js в режиме Express со всеми нужными модулями.
Сервер Node.js express работает.
Но, сервер не может получить от клиента данные в виде json.
Прочитал официальные данные с сайта (например эти: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) и аккуратно в javascipt’е готовлю данные для вызова fetch. И как бы я данные не подготавливал - Node.js постоянно в функции app.post(‘/data’, function(request, response) получает в request.body данные в виде undefined.
Я заморочился и снифером поймал пакеты от клиента к серверу и обратно и увидел, что как бы на клиенте я старательно не готовил поле Content-Type в значение application/json, но в пакете HTTP в сторону сервера упорно присутcтвует знвчение text/plain для Content-Type. Я полагаю, что именно здесь, роется причина того, что сервер не может принять данные от клиента.
Хотя-мне json в принципе и не нужен - нужно просто передавать строку на сервер для записи в файл, но насколько я понимаю при общении с Node.js нужно обязательно использовать json.
Подскажите пожалуйста, что username делает не так и как можно спасти отца русской демократии от неминуемого провала?
Спасибо.