En el navegador IE, la solicitud ajax se envía correctamente por primera vez y la segunda vez muestra que la llamada a la interfaz en segundo plano proviene de la memoria caché.

Como se muestra en la imagen, debido a que se usa el marco layui, pensé que era el impacto del evento table.on(), lo que provocó que la solicitud se realizara en el navegador IE. La primera solicitud se puede llamar a la interfaz de fondo, y los datos también se pueden guardar, pero el segundo envío no tiene éxito, lo que muestra que la interfaz de llamada proviene del caché. Después de eliminar el caché, se puede enviar nuevamente con éxito.

Después de verificar la información, descubrí el principio de almacenamiento en caché de ajax. Después de que los datos enviados por Ajax sean exitosos, guardará la URL solicitada y el resultado de respuesta devuelto en el caché. Al llamar a Ajax para enviar la misma solicitud la próxima vez, será directamente desde el caché Saque los datos, esto es para mejorar la velocidad de respuesta y la experiencia del usuario de la página. Actualmente esto requiere que la URL se solicite exactamente la misma dos veces, incluidos los parámetros. En este momento, el navegador no interactuará con el servidor.

 

Entonces, para este problema, solo necesita agregar un número aleatorio o una marca de tiempo después de la URL, luego, cada vez que solicite, será una URL diferente y la llamada será exitosa.

 

solución:

1. Agregue "?num=" + Math.random() después del parámetro URL de Ajax; 

2. Similar al anterior, agregue "?timestamp=" + new Date().getTime() después del parámetro URL

Supongo que te gusta

Origin blog.csdn.net/PhilipJ0303/article/details/100558569
Recomendado
Clasificación