Estoy tratando de implementar mi aplicación en Heroku en el que creo que está funcionando. Mientras pruebo mi aplicación a través de localhost, funciona bien, todo se publica. Sin embargo, después de la implementación y la sustitución de todas mis URL en Heroku, varias cosas no funcionan:
He intentado depurar, pero nada ha funcionado. ¿Dónde me estoy equivocando? Por favor vea abajo para más detalles
aplicación: https://mitnickproject1-journal-app.netlify.app/ heroku: https://journal-post-pl.herokuapp.com/print
Código de front-end
const formEl = document.querySelector('form'); formEl.addEventListener('submit', postFormData) let count=0; async function postFormData(e) { const current= new Date().toLocaleString() const formData= new FormData(formEl) // console.log this to check what format this is in const formDataSerialised=Object.fromEntries(formData) //console.log this to see what this does const jsonObject = {...formDataSerialised, "dateTime": current, "comment": [], "EmojiCount": [0,0,0], "gifLink":gifLink, 'id': count} console.log(JSON.stringify(jsonObject, null, 2)) try{ const options = { method: 'POST', body: JSON.stringify(jsonObject), headers: { 'Content-Type': 'application/json' } } await fetch("https://journal-post-pl.herokuapp.com/test", options); // const response = await fetch("https://journal-post-pl.herokuapp.com/test", { // }) // const json = await response.json(); }catch(err){ console.error(err); alert('There was an error') } }Código de back-end
app.post('/test', (req, res) => { formData.push(req.body) console.log(formData) writeToJson(); res.json({success: true}) })Cualquier ayuda sería apreciada
Revisé su código y lo probé mientras miraba la consola.
Sus direcciones URL GIPHY están utilizando http en lugar de https . http está bien para el desarrollo, pero el sitio en vivo necesita usar https. Simplemente cambie todas sus URL http a https y eso funcionará.
Su servidor no está configurado para aceptar solicitudes de una fuente externa (AKA CORS). Para solucionar esto, simplemente agregue app.use(cors()) a su archivo de servidor. No olvide poner const cors = require('cors') en la parte superior.