Esta es mi función para addEventListener para el evento de click
export const showTicket = async function() { try { // GETTING USER DATA const response = await fetch("/api/v1/users/me"); const data = await response.json(); // const user = data.data.data; // CREATING VISITOR const visitor = { VisitorNumber: user.visitorId, FirstName: user.firstName, LastName: user.lastName, Company: user.company, JobTitle: user.profile, Email: user.email, Mobile: user.mobile, Nationality: user.nationality, Country: user.country, Category: user.type, }; // SENDING VISITOR OBJECT TO ANOTHER API const url = "/api/v1/eticket/visitor"; const options = { method: "POST", header: { "Content-Type": "application/json", }, body: JSON.stringify(visitor), }; if (!user.eventId) { const response1 = await fetch(url, options); const data1 = await response1.json(); } const ticketMarkup = `<div class="ticket"> <div class="ticket__logo"> <img src="/images/vp-expo-logo.png"> </div> <div class="ticket__data"> <p>Your ticket is ready to be printed</p> </div> <button class="btn ticket__print-ticket" data-visitor-id=${user.visitorId}> Print Ticket </button> <button class="btn update-data"> Update Data </button> </div> `; showPopup(ticketMarkup); } catch (err) { console.log(err); } };así que primero obtengo los detalles del usuario de la api '/api/v1/users/me' que funciona bien y puedo recuperar los datos y creo una variable 'Visitante' usando las propiedades del usuario.
Luego tengo que enviar la variable del visitante como un cuerpo a otra API ('/api/v1/eticket/visitor') para que pueda recibir el cuerpo como req.body
Pero en '/api/v1/eticket/visitor' el req.body se muestra como un objeto vacío.
Aquí está la parte de apertura del controlador para esta API receptora ('/api/v1/eticket/visitor')
exports.addOneVisitor = async function(req, res, next) { try { const visitor = req.body; console.log(req.body);Por favor, indique ¿qué estoy haciendo mal?
¡El error más tonto de la historia! .. pero uno que sigo repitiendo todo el tiempo. Estoy respondiendo mi propia pregunta como un recordatorio para mí (¡y para cualquiera que cometa los mismos errores tipográficos repetidamente!).
Son headers y no header cuando escribe la parte de opciones para una solicitud de recuperación.
Espero que esto ayude a alguien a no perder 2 días de su vida por una 's' faltante