Domanda Come posso aggiornare una pagina con jQuery?


Come posso aggiornare una pagina con jQuery?


2038
2018-03-23 11:55


origine


risposte:


Uso location.reload():

$('#something').click(function() {
    location.reload();
});

Il reload() la funzione accetta un parametro opzionale che può essere impostato su true forzare una ricarica dal server piuttosto che dalla cache. Il parametro è impostato su false, quindi per impostazione predefinita la pagina potrebbe ricaricarsi dalla cache del browser.


3308
2018-03-23 11:57



Questo dovrebbe funzionare su tutti i browser anche senza jQuery:

location.reload();

407
2018-03-23 11:57



Ci sono multiplo modi illimitati per aggiornare una pagina con JavaScript:

  1. location.reload()
  2. history.go(0)
  3. location.href = location.href
  4. location.href = location.pathname
  5. location.replace(location.pathname)
  6. location.reload(false) 

    Se dovessimo estrarre il documento    nuovamente il server Web (ad esempio il contenuto del documento    cambiare dinamicamente) passeremmo all'argomento come true.

Puoi continuare a pubblicare l'elenco in modo creativo:

  • window.location = window.location
  • window.self.window.self.window.window.location = window.location
  • ... e altri 534 modi

var methods = [
  "location.reload()",
  "history.go(0)",
  "location.href = location.href",
  "location.href = location.pathname",
  "location.replace(location.pathname)",
  "location.reload(false)"
];

var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
  (function(cMethod) {
    $body.append($("<button>", {
      text: cMethod
    }).on("click", function() {
      eval(cMethod); // don't blame me for using eval
    }));
  })(methods[i]);
}
button {
  background: #2ecc71;
  border: 0;
  color: white;
  font-weight: bold;
  font-family: "Monaco", monospace;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.5s ease;
  margin: 2px;
}
button:hover {
  background: #27ae60;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


337
2018-06-23 09:47



Un sacco di modi funzionerà, suppongo:

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;

181
2018-03-23 11:58



Per ricaricare una pagina con jQuery, fai:

$.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
});

L'approccio che ho usato è stato Ajax jQuery. L'ho provato Cromo 13. Quindi inserisco il codice nel gestore che attiverà la ricarica. Il URL è "", che significa questa pagina.


113
2017-09-30 11:00



Se la pagina corrente è stata caricata da una richiesta POST, è possibile che si desideri utilizzare

window.location = window.location.pathname;

invece di

window.location.reload();

perché window.location.reload() richiederà la conferma se chiamato su una pagina che è stata caricata da una richiesta POST.


97
2018-06-22 11:58



La domanda dovrebbe essere,

Come aggiornare una pagina con JavaScript

window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another

Hai solo l'imbarazzo della scelta.


55
2018-03-23 12:01



Potresti volerlo usare

location.reload(forceGet)

forceGet è un booleano e facoltativo.

L'impostazione predefinita è false che ricarica la pagina dalla cache.

Impostare questo parametro su true se si desidera forzare il browser ad ottenere la pagina dal server per eliminare anche la cache.

O semplicemente

location.reload()

se vuoi veloce e facile con il caching.


47
2017-07-25 14:27



Tre approcci con diversi comportamenti correlati alla cache:

  • location.reload(true)

    Nei browser che implementano il forcedReload parametro di location.reload(), ricarica recuperando una nuova copia della pagina e tutte le sue risorse (script, fogli di stile, immagini, ecc.). Non servirà qualunque risorse dalla cache: recupera nuove copie dal server senza inviarle if-modified-since o if-none-match intestazioni nella richiesta.

    Equivalente all'utente che esegue un "hard reload" nei browser dove è possibile.

    Si noti che passando true a location.reload() è supportato in Firefox (vedi MDN) e Internet Explorer (vedi MSDN) ma non è supportato universalmente e non fa parte di la specifica W3 HTML 5, né la W3 specifica HTML 5.1, né lo standard di vita HTML WHATWG.

    In browser non supportati, come Google Chrome, location.reload(true) si comporta allo stesso modo di location.reload().

  • location.reload() o location.reload(false)

    Ricarica la pagina, recuperando una copia nuova e non memorizzata nella cache dell'HTML stesso e eseguendo RFC 7234 richieste di riconvalida per qualsiasi risorsa (come script) che il browser ha memorizzato nella cache, anche se lo sono fresco sono RFC 7234 consente al browser di servirli senza riconvalida.

    Esattamente come il browser dovrebbe utilizzare la propria cache durante l'esecuzione di un location.reload()la chiamata non è specificata o documentata per quanto posso dire; Ho determinato il comportamento sopra per sperimentazione.

    Questo è equivalente all'utente che preme semplicemente il pulsante "Aggiorna" nel proprio browser.

  • location = location (o infinitamente molte altre tecniche possibili che prevedono l'assegnazione a location o alle sue proprietà)

    Funziona solo se l'URL della pagina non contiene un hashbang / fragido!

    Ricarica la pagina senza eseguire il restore o la riconvalida qualunque  fresco risorse dalla cache. Se l'HTML della pagina stessa è nuovo, questo ricaricherà la pagina senza eseguire alcuna richiesta HTTP.

    Questo è equivalente (da una prospettiva di memorizzazione nella cache) all'utente che apre la pagina in una nuova scheda.

    Tuttavia, se l'URL della pagina contiene un hash, questo non avrà alcun effetto.

    Di nuovo, il comportamento del caching qui non è specificato per quanto ne so; L'ho determinato testando.

Quindi, in sintesi, vuoi usare:

  • location = location per il massimo utilizzo della cache, fintanto che la pagina non ha un hash nel suo URL, nel qual caso ciò non funzionerà
  • location.reload(true) per recuperare nuove copie di tutte le risorse senza riconvalida (anche se non è universalmente supportato e non si comporta in modo diverso location.reload() in alcuni browser, come Chrome)
  • location.reload() per riprodurre fedelmente l'effetto dell'utente cliccando sul pulsante 'Aggiorna'.

28
2017-11-14 11:22



window.location.reload() ricaricherà dal server e caricherà nuovamente tutti i dati, script, immagini, ecc.

Quindi se vuoi semplicemente aggiornare l'HTML, il window.location = document.URL tornerà molto più veloce e con meno traffico. Ma non ricaricherà la pagina se c'è un hash (#) nell'URL.


20
2017-10-13 20:32