Trigger automatic cache refresh for AJAX calls

I am currently developing a Java EE enterprise portal that relies heavily on jQuery-AJAX requests for user navigation. Due to the size of the navigation and the potentially lengthy AJAX calls, I have implemented

cache: true

to allow the browser to store and retrieve results from its cache for repetitive requests.

While this works well for most scenarios, there are times when I need the browser to refresh the requests directly from the server, such as when navigation entries change or the frontend language is updated.

Although I could simply use "cache: false" to bypass the browser cache, I would prefer a method that prompts the browser to update outdated cached responses with fresh data from the server.

Are there any options available on either the frontend or backend side, that can be added to the requests or their results, in order to instruct the browser to discard outdated responses and retrieve new values?

Answer №1

Dealing with a similar problem, I discovered that by including the "Last-Modified" HTTP header in my responses, browsers were able to automatically update the cached data depending on its age.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Ways to append each list item from one unordered list to the end of another based on their unique styles

I am in the process of making a website responsive and I am faced with the task of combining two different menus. In order to achieve this, I need to transfer all list items (li) from one unordered list (ul) to another. Provided below is a simplified vers ...

Establishing properties while creating a fresh instance of a class

I am currently working on developing an invoice application using TypeScript. In my project, I have created an Invoice class with several properties and objects. However, when attempting to set the properties of an item object within the Invoice class usin ...

Is there a method in which Howler can alert at specified time intervals?

Curious to know if there is a feature in Howler JS that allows for notifications every second? This would be useful for updating a state variable that keeps track of the duration a song has been playing. One approach could be: var audio = new Howl({ xhr: ...

How to smoothly rotate a three-dimensional object in Three.js until it reaches a predetermined angle

Recently, I delved into the world of Three.JS, only to encounter a puzzling roadblock. My goal is to create a drivable car controlled by the Arrow Keys. Thus far, I've managed to make it move forwards and backwards, with the wheels turning appropriate ...

What can I do to stop a webpage from automatically refreshing when I submit a form?

I'm currently in the process of building my very first website, and I've run into a bit of a snag that I can't seem to figure out. Whenever a user tries to add an item to the cart or increase the quantity, I want to avoid the page refreshing ...

Run XQuery dynamically in JavaScript and store the outcome in a JavaScript variable

Looking to achieve the following: Running a dynamic XQUERY stored in a JavaScript variable example var myxquery = For Channels.Channel where Channel/availability = yes And Channels.Channel/Label = 'CNN' Return EXIST(Channels.Channel/Id)&apo ...

loading preloaded fonts at the optimal moment

My webfonts are loaded using Webfontloader as shown below: <script src="//ajax.googleapis.com/ajax/libs/webfont/1.5.10/webfont.js"></script> <script> WebFont.load({ custom: { families: ['BlenderProBook' ...

Using setTime in JavaScript allows for customizing and adjusting the

I'm having trouble getting this code to display the time. I thought it would work, but it's not showing the time. Can someone please help me figure out what's going wrong? function startTime() { var currentTime = new Date(); ...

Disallowing selection on input text field

I am seeking to disable selection on an input field while still allowing for focusing, with the following criteria: Preventing selection via mouse Preventing selection via keyboard (including Ctrl+A, shift+arrows) Permitting focus on the field using both ...

Is there a way to navigate to the adjacent values in a json array?

I've been struggling with this issue for quite some time now. I have a list of items that can be moved to a div when clicked. My goal is to navigate through the items in the list (json) by clicking on Next and Previous buttons. As someone who is rela ...

Guide on how to reset a counter to 0 using a JavaScript button

I currently have a JavaScript counter and a button that increments the counter by 1. Here is my existing code: var counter = 0; var a = 0; var add = function(valueToAdd){ a += valueToAdd; document.getElementById('Value&ap ...

Error in Next.js: The function (0 , firebase_auth__WEBPACK_IMPORTED_MODULE_1__.onAuthStateChanged) is not defined as a function

Just starting out with Next.js development and currently following a Youtube tutorial on creating a Whatsapp clone using firebase8.9 as the database. I am looking to implement a feature where the app checks if the user is logged in, if so redirect them to ...

Encountering difficulty selecting a dropdown sub-menu using Selenium WebDriver

I'm currently working on automating a website with selenium webdriver. The issue I'm encountering is that when I try to click on a menu item, the submenu pops up (actually a misplaced dropdown, UI issue), and although I can locate the element of ...

Retrieving data from external JSON files

I implemented this JavaScript code to retrieve JSON data from an external server. The JSON data gets loaded from the server, but I'm unsure how to extract markers from the Google Map using this external JSON data. var map, infowindow; //// // Fet ...

Guide on changing image source using a function

I am looking to dynamically set the img src="" attribute using a JavaScript function that changes the image based on a variable and checks its values: Here is the JavaScript code in the file: function myFunctionstatus(){ var ledactual = document.getE ...

New behavior in Vue 3: defineEmits is causing issues with defineProps data

Currently, I am working with Vue 3 and TS 4.4. In one of my components, I am using defineProps to define prop types. However, when I try to add defineEmits, VS Code starts indicating that my props variable is not recognized in the component template. Below ...

Currently trapped within the Javascript Fizzbuzz application on Codecademy

These are the instructions from Codecademy that need to be followed: Display the numbers from 1 to 20. If a number is divisible by 3, show "Fizz". If a number is divisible by 5, display "Buzz". If a number is divisible both by 3 and 5, then output "Fiz ...

How to Remove Carousel Arrows in Bootstrap 5

Any suggestions on how to remove the previous and next arrows in a Bootstrap carousel, particularly on the first and last slide? I'm struggling to find a solution for Bootstrap 5 as most solutions available are for older versions. Your help would be g ...

What causes browsers to become unresponsive when loading large datasets with jQuery?

I have noticed a recurring issue on various websites, including my own, and I am seeking a solution. Why do browsers tend to become unresponsive when loading large amounts of data using jQuery? For example, on one of my sites, I implemented a pagination ...

Detecting repeated property values within a collection of embedded objects

I am currently working with a JSON file that contains an array of nested objects and arrays to represent a shopping cart. My goal is to identify duplicate values and update the quantity of the item if duplicates exist, otherwise simply add the items to the ...