Я пытаюсь создать форму на своем сайте, используя jquery и ajax.в бэкэнде у меня установлен экспресс.когда я отправляю запрос на почту / mail и все в порядке, я хочу отправить json обратно на страницу контактов.Как я могу это сделать?
Я построил интерфейс и сервер, но не могу понять, как отправить статус успеха или что-то в этом духе.
это мой сценарий сервера:
const express = require("express");
const app = express();
const port = process.env.PORT || 5000;
const bodyParser = require("body-parser");
//Here we are configuring express to use body-parser as middle-ware.
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.get("/", (req, res) => {
res.sendFile(__dirname + "/contact.html");
});
app.post("/mail", (req, res) => {
//here i want to respond with success or error to the front end
});
app.get("*", (req, res) => {
res.send("hello");
});
app.listen(port, () => console.log(`listening on http://localhost:${port}`));
это мой сценарий интерфейса:
$(function() {
// Get the form.
var form = $('#contact-form');
// Get the messages div.
var formMessages = $('.form-messege');
// Set up an event listener for the contact form.
$(form).submit(function(e) {
// Stop the browser from submitting the form.
e.preventDefault();
// Serialize the form data.
var formData = $(form).serialize();
// Submit the form using AJAX.
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: formData
})
.done(function(response) {
// Make sure that the formMessages div has the 'success' class.
$(formMessages).removeClass('error');
$(formMessages).addClass('success');
// Set the message text.
$(formMessages).text(response);
// Clear the form.
$('#contact-form input,#contact-form textarea').val('');
})
.fail(function(data) {
// Make sure that the formMessages div has the 'error' class.
$(formMessages).removeClass('success');
$(formMessages).addClass('error');
// Set the message text.
if (data.responseText !== '') {
$(formMessages).text(data.responseText);
} else {
$(formMessages).text('Oops! An error occured and your message could not be sent.');
}
});
});
});
как я могу инициировать функцию fail или done в запросе ajax?