Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
¿Cómo puedo arreglar este nodo para que reaccione la conexión y hacer que mi página de inicio de sesión funcione?

Estoy tratando de hacer una autenticación de inicio de sesión. Estoy usando un servidor express que le da un token al usuario cuando envía su nombre de usuario y contraseña. Mi problema es que cuando envío esos datos, aparece el siguiente error:

POST http://localhost:3000/api 404 (No encontrado) No capturado (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Esto tiene que ser un problema con ambas partes de mi aplicación interactuando. Pero he intentado cambiar "app.get" por "app.use" o cambiar "/api" por otro tipo de nombre. No pude resolverlo. Escribiré las rutas para cada archivo en caso de que creas que tengo un error de enrutamiento.

Este es mi código de nodo (app/server/server.js)

 const express = require('express'); const PORT = process.env.PORT || 8080; const app = express(); const cors = require('cors'); app.use(cors()); app.get("/api", (req, res) => { res.send({ token: 'test123' }) }); app.listen(PORT, () => { console.log(`Server is running on ${PORT}`) });

Esta es la parte de mi aplicación React que interactúa con el nodo (app/client/src/Login.js)

 const loginUser = async (credentials) => { return fetch('/api', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(credentials) }) .then(data => data.json()) } const Login = ({ setToken }) => { const [username, setUserName] = useState(); const [password, setPassword] = useState(); const handleSubmit = async e => { e.preventDefault(); const token = await loginUser({ username, password }); setToken(token); } return ( <div>Here is the login container</div> )

Un gancho personalizado que estoy usando

 import { useState } from 'react'; const useToken = () => { const getToken = () => { const tokenString = localStorage.getItem('token'); const userToken = JSON.parse(tokenString); return userToken?.token }; const [token, setToken] = useState(getToken()); const saveToken = userToken => { localStorage.setItem('token', JSON.stringify(userToken)); setToken(userToken.token); }; return { setToken: saveToken, token } } export default useToken;

Finalmente, mi App.js (app/client/src/App.js)

 const App = () => { const { token, setToken } = useToken(); if(!token) { return <Login setToken={setToken} /> } return ( <> here is my app </> )
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!