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

181
Views
consumiendo un Rest-API con javascript en el navegador

Estoy escribiendo una aplicación de servidor para proporcionar un Rest-API. Si el servidor obtiene un GET sin encabezado de tipo de contenido JSON, sirve una página html vacía que tiene un módulo javascript en su encabezado . Este código de javascript usa fetch para consumir Rest-API y luego lo completa de acuerdo con el cuerpo del documento con el contenido obtenido del servidor. Cada "enlace" en el contenido desencadena más llamadas a la API y las actualizaciones correspondientes al contenido.

Hasta aquí todo bien. Pero hice dos observaciones irritantes.

  1. (obviamente) los botones "atrás" y "adelante" del navegador permanecen inactivos. Lo que parece lógico ya que no hay URL cargadas asociadas con los cambios de contenido.

  2. Si llego a mi Rest-UI desde otra página y presiono el botón de retroceso del navegador, como se esperaba, obtengo la otra página de regreso, pero si presiono ahora el botón de avance del navegador, veo la respuesta JSON de mi búsqueda inicial en lugar de mi Resto-UI contenido. Recargar mi página hace que todo vuelva a estar bien, pero no puedo ofrecer ese comportamiento a ningún usuario :)

¿Existen enfoques comunes para tratar este comportamiento? Por ejemplo, eliminando los controles del navegador por completo, alimentando el historial del navegador "a mano" con js-callbacks, directivas de almacenamiento en caché, ... (No tengo experiencia con js)

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La raíz del problema es que sobrecargué la respuesta de una solicitud GET en el lado del servidor: si la solicitud GET acepta JSON, el servidor devuelve JSON; de lo contrario, devuelve una página html con javascript que consume JSON. Es decir. la búsqueda de javascript para el JSON es la última respuesta GET para una URL dada y va como tal a la memoria caché del navegador asociada con esa URL. Una solución a ese problema que funciona para mí es enviar un encabezado con la respuesta JSON desactivando el almacenamiento en caché y señalando al navegador con el encabezado "Variar" que la respuesta depende del encabezado "Aceptar". Otra solución podría ser agregar puntos finales distintos al servidor para las solicitudes de descanso.

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