Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reload a page with location.href or window.location.reload(true)

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?

like image 923
pmiranda Avatar asked Dec 07 '16 14:12

pmiranda


People also ask

Does window location href reload the page?

window. location. href method returns/loads the current url. So we can use it to reload/refresh the page in javascript.

What is window location reload true?

True reloads the page from the server (e.g. does not store the data cached by the browser): window. location. reload(true);

How do I refresh my current URL?

You can use the location. reload() JavaScript method to reload the current URL. This method functions similarly to the browser's Refresh button. The reload() method is the main method responsible for page reloading.


1 Answers

The main difference is follow:

window.location.reload() reloads the current page with POST data, while window.location.href='your url' does not include the POST 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.

like image 109
Mihai Alexandru-Ionut Avatar answered Sep 28 '22 11:09

Mihai Alexandru-Ionut