Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

113
Visualizações
¿Por qué no funciona este middleware para la solicitud de verificación previa?

Sé que la solicitud de publicación iniciará una solicitud de verificación previa antes de que se envíe la solicitud de publicación real. Así que hice un middleware para manejar todas las comprobaciones previas en Express como este:

/aplicación.js:

 const express=require('express'); const preflightRouter=require('./routes/preflight'); const app=express(); app.use(preflightRouter); // * preflightRouter is the middleware handling all the preflight requests. app.post('/post', (req, res)=>{ res.header('Access-Control-Allow-Origin', '*'); res.send('Post requests successful.') }) app.listen(5000, ()=>{ console.log('server running on port 5000'); })

/rutas/prevuelo:

 const express=require('express'); const router=express.Router(); router.options('/', (req, res)=>{ res.setHeader("Access-Control-Allow-Origin","*") res.setHeader("Access-Control-Allow-Headers", "*"); console.log('Preflight hit.') res.end(); }) module.exports=router;

Obtuvo un error CORS: ingrese la descripción de la imagen aquí

Sin embargo, si cambia la línea * a esto, funciona:

 app.use('/post',preflightRouter);

Me pregunto por qué tiene que coincidir perfectamente con toda la ruta de la ruta. ¿No es "el middleware montado sin una ruta se ejecutará para cada solicitud a la aplicación" como dice el tutorial express?

Para completar, aquí está el código de la web frontal (puerto frontend 5500, puerto backend 5000):

 <html> <head> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> </head> <body> <button id='btn'>POST</button> <script> btn.onclick=()=>{ axios.post('http://localhost:5000/post', {name: 'Smith'}) .then(response=>{ console.log(response); }) } </script> </body> </html>
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda