I need to reload a page in a success of an ajax call.
I'm seeing some code (not mine) and there are two ways:
success: function(obj) {
//code
location.href = location.href;
}
or
success: function(obj) {
//code
window.location.reload(true);
}
Is there any difference in the behaviour? I know the difference of both location
and window.location
but in terms of do the job?
The main difference is follow:
window.location.reload() reloads the current page with
POST
data, while window.location.href='your url' does not include thePOST
data.
Further more, window.location.reload(true)
method reload page from the server. And the browser will skip the cache.
For example, I see you are using success
function from an AJAX
request.
Suppose you have follow method:
[OutputCache(Duration=600)]
public ActionResult Homepage(){
//code here
return View();
}
If you are using window.location.href="location_URL"
,then browser cache data for 600
seconds, which means 10 minutes.
On the other hand, if you use window.location.reload(true)
, then the browser will skip the cache and ,then, reload page from server.