Отправка данных из DOM на экспресс-сервер - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь подключить регистрационную форму к моему экспресс-серверу для регистрации новых пользователей.У меня проблемы с отправкой почтового запроса должным образом из DOM.

У меня работает экспресс-сервер, и если я пытаюсь создать пользователя через Postman, он отправляет приветственное письмо и сохраняет пользователя в моем MongoDB, как и ожидалось, ноУ меня проблемы с отправкой данных из формы регистрации правильно.

Вот копия моего экспресс-маршрута

const express = require('express');
const router = new express.Router();
const User = require('../models/user');

const sendWelcomeEmail = require('../emails/account');

// Route for creating a new user
router.post('/users', async (req, res) => {
    const user = new User(req.body);

    try {
        await user.save();
        sendWelcomeEmail(user.email, user.name);

        res.status(201).send({ user });
    } catch (e) {
        res.status(400).send(e);
    }
});

module.exports = router;

А вот моя функция, в которой я пытаюсь сделать запрос на отправку с данными формы.

$(function() {
    $('#register').on('click', function(event) {
        event.preventDefault();

        const name = document.querySelector('#InputName').value;
        const email = document.querySelector('#InputEmail').value;
        const phone = document.querySelector('#InputPhone').value;
        console.log(name, email, phone);

        if (!name || !email || !phone) {
            $('#msgDiv')
                .show()
                .html('All fields are required.');

            $.ajax({
                url: '/users',
                method: 'POST',
                data: {
                    name: name,
                    email: email,
                    phone: phone
                }
            }).done(function(data) {
                if (data) {
                    console.log(data);
                    $('#msgDiv')
                        .removeClass('alert-danger')
                        .addClass('alert-success')
                        .html(data.message)
                        .show();
                }
            });
        }
    });
});

Я ожидал получить хотя бы нового пользователя в моей базе данных, но ничего не вижу.Я уверен, что упускаю что-то простое, и я прошу прощения, если на этот вопрос уже был дан ответ где-то еще, у меня просто возникают проблемы с применением любого из ответов, которые я нахожу к своей проблеме.

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