Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

510
Vistas
cors wont work even if Access-Control-Allow-Origin is set to *

I am working in a tiny project in react and express.js

the express.js code (Backend)

app.post('/api/search', (req, res) => { 
    // 
    res.setHeader("Access-Control-Allow-Origin", "*");
    axios.get("[REDACTED]" + req.body.searchtxt + "&limit=100").then((response) => {
        res.json({status: "ok", result: response.data})
    })

    
})

and here the front-end

function SearchPage() {
    const { searchText } = useParams()
    const [SearchTxt, setSearchTxt] = useState(searchText)
    useEffect(()=>{
        fetch('http://localhost:8080/api/search', {
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            },
            mode: 'cors',
            body: JSON.stringify({searchtxt: searchText})
        }).then((res) => {
                res.json().then((resjson) => {
                    console.log(resjson)
                })
            })
    },[])
}

but it shows this :

Access to fetch at 'http://localhost:8080/api/search' from origin 'http://localhost:3000'
has been blocked by CORS policy: Response to preflight request doesn't pass access control
check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an
opaque response serves your needs, set the request's mode to 'no-cors' to fetch the
resource with CORS disabled.

I've tried with Access-Control-Allow-Origin set to localhost:3000 but it don't work

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Browser sends OPTIONS preflight requests by default when sending a request. So, you should send Access-Control-Allow-Origin header for that request as well.

The easiest solution is to use cors middleware package. You can use it like this:

const cors = require('cors');

app.post('/api/search', cors(), (req, res) => { 

  res.setHeader("Access-Control-Allow-Origin", "*");
  axios.get("[REDACTED]" + req.body.searchtxt + "&limit=100").then((response) => {
    res.json({status: "ok", result: response.data})
  })

})
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda