Я пытаюсь подключить регистрационную форму к моему экспресс-серверу для регистрации новых пользователей.У меня проблемы с отправкой почтового запроса должным образом из 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();
}
});
}
});
});
Я ожидал получить хотя бы нового пользователя в моей базе данных, но ничего не вижу.Я уверен, что упускаю что-то простое, и я прошу прощения, если на этот вопрос уже был дан ответ где-то еще, у меня просто возникают проблемы с применением любого из ответов, которые я нахожу к своей проблеме.