Al usar fetch, recibo una solicitud incorrecta, así como un token inesperado < en JSON, ambos apuntan a search.js, que es donde realizo la solicitud de fetch que intenté enviar a través de un cliente API y está funcionando. envíe la solicitud de recuperación a través de input onkeyup. También noté que mi error no se detecta
Solicitud de obtención:
const searchResults = function(e){ fetch('/elpers/search' , { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(e.value) }).then(res => { res.json() }).then(data => { console.log(data) }).catch(err => { console.error(err) }) }ruta POST
const postSearch = (req, res) => { console.log(req.body) res.send({'result': 'value'}); } editar: esto funcionó para mí JSON.stringify({result: e.value})
Error:
search.js:2 POST http://localhost:3000/elpers/search 400 (Bad Request) VM118:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
Debe usar res.json() en lugar de res.send() y JSON.stringify(e.value) a JSON.stringify({result: e.value})
usa esto y déjame saber:
const postSearch = (req, res) => { console.log(req.body) // post if data is received here... res.json({ message: "data received!", data: search, // search should be the data that user fetched }) };En el lado del cliente, solo consola.Registre los datos recibidos y vea si es JSON o no :)))
¡Feliz codificación!