HTML-форма не отправляет данные на сервер

Я пытаюсь отправить данные клиента на сервер для обработки. Я использую форму HTML. Но каждый раз, когда я нажимаю «Отправить», сервер не получает никаких данных в запросе.

<form data-customer-information-form = "true" autocomplete = "on" method = "POST" action = "addticket/submit" name = "ticketForm" id = "ticketform" accept-charset = "UTF-8">
            <p>
                <label for = "customerFirstName">First Name:</label></br>
                <input type = "text" name = "customerFirstName" id = "customerFirstName" placeholder = "first name" pattern = "[A-Za-z]+" tabindex = "0">
            </p>
            <p>
                <label for = "customerLastName">Last Name:</label></br>
                <input type = "text" name = "customerLastName" id = "customerLastName" placeholder = "last name" tabindex = "0">
            </p>
            <p> 
                <label for = "phoneNumber">Phone:</label></br>
                <input type = "tel" id = "phone" maxlength = "12" name = "phoneNumber" placeholder = "phone" pattern = "[0-9]{3}-[0-9]{3}-[0-9]{4}" tabindex = "0">
            </p>
            <p>
                <label for = "email">Email:</label></br>
                <input type = "email" name = "email" id = "email" placeholder = "email">
            </p>
            <p>
                <label for = "service">Computer/Service Name:</label></br>
                <input type = "text" name = "service" placeholder = "computer model or service">
            </p>
            <p>
                <label for = "description">Anything else we need to know:</label></br>
                <textarea type = "text" maxlength = "200" name = "description" id = "description" placeholder = "What's gone wrong?"></textarea>
            </p>
            <input type = "submit" name = "submit" value = "Submit" id = "submit">
        </form>
const router = require('express').Router();
const fs = require('fs');
var path = require('path');
const customer = require("../models/customer");

router.get('/', function(req, res) {
    req.session.cookie
    res.sendFile(path.join(__dirname + "/pages/ticket.html"));
});

router.post('/submit', (req, res) => {
    console.info(req.body)
})


module.exports = router;

Все заголовки запросов выглядят хорошо, сообщая серверу, что это форма. Но у него нет данных. req.body в основном не определен.

Вы также должны опубликовать код на стороне сервера. (В вашем случае, вероятно, PHP). Я не могу найти никаких ошибок в вашем html.

user8354447 21.12.2020 16:47

Я использую javascript для кода на стороне сервера.

Mo K 21.12.2020 16:52

Попробуйте добавить промежуточное ПО анализатора тела

Musa 21.12.2020 16:53
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
3
304
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Express.js будет заполнять свойство body объекта запроса только в том случае, если используется подходящее промежуточное ПО для синтаксического анализа тела. Вы ничего не используете.

По умолчанию форма будет кодировать данные формы в формате с кодировкой URL, поэтому вам следует использовать это промежуточное ПО.

const express = require('express');
router.use(express.urlencoded())

Другие вопросы по теме