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

103
Vistas
¿Cómo desactivo las solicitudes que se envían en el cambio de ruta?

Servidor: NodeJS (Express, Passport y MongoStore para middleware) Cliente: VueJS y Vue Router

Antecedentes He notado que cada vez que cambia la ubicación del hash con Vue Router, envía una solicitud GET al servidor en la ruta raíz. Por ejemplo, navegar desde /app#/route1 a /app#/route2 (usando router.go() o <router-link> ) enviará una solicitud GET a /app .

En la lógica de enrutamiento de mi servidor, la ruta de la aplicación se autentica mediante Express/Passport/MongoStore para garantizar que el usuario haya iniciado sesión. Si carga o actualiza una página completa, la respuesta redirigirá al usuario a la pantalla de inicio de sesión si no está autenticado, pero cuando Vue Router envía la solicitud, la autenticación no tiene ningún efecto, ni res.render o res.redirect . (Por lo tanto, si el cliente cierra la sesión en una segunda pestaña, la primera pestaña aún puede navegar por los menús de la primera pestaña, excepto que no se llenarán datos en las páginas, ya que las solicitudes de datos de AJAX y SocketIO se autenticarán por separado).

La diferencia clave, por supuesto, entre un Vue Router GET y un GET de página completa es que "text/html" no se mostrará en los encabezados de solicitud de aceptación, entre otras cosas. Por el momento, el servidor responde con Res.render para todas las solicitudes GET, pero para las navegaciones de Vue Router esto es redundante. Además de esto, el servidor también realiza algunas actualizaciones en MongoDb para configurar algunos entornos para la aplicación, pero esto no es necesario cada vez que el usuario navega por las páginas solo del lado del cliente, solo es necesario en la carga de la página.

Aunque podría modificar alguna lógica del lado del servidor para omitir algunos pasos cuando text/html no está incluido en req.headers.accept , el middleware aún realiza una autenticación innecesaria cada vez que el usuario navega y no puedo ver un beneficio de seguridad inmediato al hacerlo.

Pregunta ¿Es posible configurar Vue Router para que no envíe solicitudes cada vez que cambia la ubicación del hash?

about 4 years ago · Juan Pablo Isaza
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