web-dev-qa-db-fra.com

Recharger une page avec location.href ou window.location.reload (true)

J'ai besoin de recharger une page en cas de succès d'un appel ajax.

Je vois du code (pas le mien) et il y a deux façons:

success : function(obj) {
//code
        location.href = location.href;
    }

ou

success : function(obj) {
//code
        window.location.reload(true);
    }

Y a-t-il une différence de comportement? Je connais la différence d'emplacement et de window.location mais en termes de faire le travail?

11
pmiranda

La principale différence est la suivante:

window.location.reload () recharge la page en cours avec les données POST, tandis que window.location.href = 'votre url' n'inclut pas les données POST.

De plus, la méthode window.location.reload(true) recharge la page à partir du serveur. Et le navigateur sautera le cache.

Par exemple, je vois que vous utilisez la fonction success à partir d'une requête AJAX.

Supposons que vous ayez suivi la méthode:

[OutputCache(Duration=600)]
public ActionResult Homepage(){
   //code here
   return View();
}

Si vous utilisez window.location.href="location_URL", Les données du cache du navigateur pendant 600 Secondes, ce qui signifie 10 minutes.

D'un autre côté, si vous utilisez window.location.reload(true), le navigateur sautera le cache et, ensuite, rechargera la page du serveur.

13