How to disable caching with HttpClient get in Angular 6
I'm writing an Angular SPA app, that uses HttpClient to get values from my backend.
What is the easy way to tell it not to cache? The first time I ask it gets the value, then it refuses to make subsequent queries.
Thanks,
Gerry
angular caching httpclient
add a comment |
I'm writing an Angular SPA app, that uses HttpClient to get values from my backend.
What is the easy way to tell it not to cache? The first time I ask it gets the value, then it refuses to make subsequent queries.
Thanks,
Gerry
angular caching httpclient
Do you have control of the backend as well?
– user184994
Nov 9 at 19:51
can you include the code of these requests?, and the component template also, and what backend framework are you using if any?
– Hussein
Nov 9 at 19:52
As far as I know you can't. I thought this was a function of the browser. I have heard of hacks like adding a random integer to the get so the browser doesn't match with a previous request. Otherwise I just post to my API. Caching get calls has caused me so much pain in the past.
– Ryan E.
Nov 9 at 19:53
Looks like you can add some header attributes to your requests -> stackoverflow.com/questions/37755782/… Looks like you can control this server side as well according to one of the commenters.
– Ryan E.
Nov 9 at 19:54
add a comment |
I'm writing an Angular SPA app, that uses HttpClient to get values from my backend.
What is the easy way to tell it not to cache? The first time I ask it gets the value, then it refuses to make subsequent queries.
Thanks,
Gerry
angular caching httpclient
I'm writing an Angular SPA app, that uses HttpClient to get values from my backend.
What is the easy way to tell it not to cache? The first time I ask it gets the value, then it refuses to make subsequent queries.
Thanks,
Gerry
angular caching httpclient
angular caching httpclient
asked Nov 9 at 19:47
Gerry
66641528
66641528
Do you have control of the backend as well?
– user184994
Nov 9 at 19:51
can you include the code of these requests?, and the component template also, and what backend framework are you using if any?
– Hussein
Nov 9 at 19:52
As far as I know you can't. I thought this was a function of the browser. I have heard of hacks like adding a random integer to the get so the browser doesn't match with a previous request. Otherwise I just post to my API. Caching get calls has caused me so much pain in the past.
– Ryan E.
Nov 9 at 19:53
Looks like you can add some header attributes to your requests -> stackoverflow.com/questions/37755782/… Looks like you can control this server side as well according to one of the commenters.
– Ryan E.
Nov 9 at 19:54
add a comment |
Do you have control of the backend as well?
– user184994
Nov 9 at 19:51
can you include the code of these requests?, and the component template also, and what backend framework are you using if any?
– Hussein
Nov 9 at 19:52
As far as I know you can't. I thought this was a function of the browser. I have heard of hacks like adding a random integer to the get so the browser doesn't match with a previous request. Otherwise I just post to my API. Caching get calls has caused me so much pain in the past.
– Ryan E.
Nov 9 at 19:53
Looks like you can add some header attributes to your requests -> stackoverflow.com/questions/37755782/… Looks like you can control this server side as well according to one of the commenters.
– Ryan E.
Nov 9 at 19:54
Do you have control of the backend as well?
– user184994
Nov 9 at 19:51
Do you have control of the backend as well?
– user184994
Nov 9 at 19:51
can you include the code of these requests?, and the component template also, and what backend framework are you using if any?
– Hussein
Nov 9 at 19:52
can you include the code of these requests?, and the component template also, and what backend framework are you using if any?
– Hussein
Nov 9 at 19:52
As far as I know you can't. I thought this was a function of the browser. I have heard of hacks like adding a random integer to the get so the browser doesn't match with a previous request. Otherwise I just post to my API. Caching get calls has caused me so much pain in the past.
– Ryan E.
Nov 9 at 19:53
As far as I know you can't. I thought this was a function of the browser. I have heard of hacks like adding a random integer to the get so the browser doesn't match with a previous request. Otherwise I just post to my API. Caching get calls has caused me so much pain in the past.
– Ryan E.
Nov 9 at 19:53
Looks like you can add some header attributes to your requests -> stackoverflow.com/questions/37755782/… Looks like you can control this server side as well according to one of the commenters.
– Ryan E.
Nov 9 at 19:54
Looks like you can add some header attributes to your requests -> stackoverflow.com/questions/37755782/… Looks like you can control this server side as well according to one of the commenters.
– Ryan E.
Nov 9 at 19:54
add a comment |
1 Answer
1
active
oldest
votes
Using meta HTML tags, Disable browser caching:-
<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
or,
Add headers
in http
request as:-
headers = new Headers(
'Cache-Control': 'no-cache, no-store, must-revalidate, post-
check=0, pre-check=0',
'Pragma': 'no-cache',
'Expires': '0'
);
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232382%2fhow-to-disable-caching-with-httpclient-get-in-angular-6%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Using meta HTML tags, Disable browser caching:-
<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
or,
Add headers
in http
request as:-
headers = new Headers(
'Cache-Control': 'no-cache, no-store, must-revalidate, post-
check=0, pre-check=0',
'Pragma': 'no-cache',
'Expires': '0'
);
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
add a comment |
Using meta HTML tags, Disable browser caching:-
<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
or,
Add headers
in http
request as:-
headers = new Headers(
'Cache-Control': 'no-cache, no-store, must-revalidate, post-
check=0, pre-check=0',
'Pragma': 'no-cache',
'Expires': '0'
);
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
add a comment |
Using meta HTML tags, Disable browser caching:-
<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
or,
Add headers
in http
request as:-
headers = new Headers(
'Cache-Control': 'no-cache, no-store, must-revalidate, post-
check=0, pre-check=0',
'Pragma': 'no-cache',
'Expires': '0'
);
Using meta HTML tags, Disable browser caching:-
<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
or,
Add headers
in http
request as:-
headers = new Headers(
'Cache-Control': 'no-cache, no-store, must-revalidate, post-
check=0, pre-check=0',
'Pragma': 'no-cache',
'Expires': '0'
);
answered Nov 9 at 20:57
Mahi
685319
685319
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
add a comment |
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Actually I added a CustomHttpInterceptor service to do this for all of my http requests.
– Gerry
Nov 15 at 17:20
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
Yes, adding it in interceptor for every http request is a good idea.
– Mahi
Nov 15 at 17:36
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232382%2fhow-to-disable-caching-with-httpclient-get-in-angular-6%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do you have control of the backend as well?
– user184994
Nov 9 at 19:51
can you include the code of these requests?, and the component template also, and what backend framework are you using if any?
– Hussein
Nov 9 at 19:52
As far as I know you can't. I thought this was a function of the browser. I have heard of hacks like adding a random integer to the get so the browser doesn't match with a previous request. Otherwise I just post to my API. Caching get calls has caused me so much pain in the past.
– Ryan E.
Nov 9 at 19:53
Looks like you can add some header attributes to your requests -> stackoverflow.com/questions/37755782/… Looks like you can control this server side as well according to one of the commenters.
– Ryan E.
Nov 9 at 19:54