Pregunta ¿Cómo puedo actualizar una página con jQuery?


¿Cómo puedo actualizar una página con jQuery?


2038
2018-03-23 11:55


origen


Respuestas:


Utilizar location.reload():

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

los reload() función toma un parámetro opcional que se puede configurar para true forzar una recarga desde el servidor en lugar de la caché. El parámetro está predeterminado false, por lo que de forma predeterminada, la página puede volver a cargarse desde el caché del navegador.


3308
2018-03-23 11:57



Esto debería funcionar en todos los navegadores incluso sin jQuery:

location.reload();

407
2018-03-23 11:57



Existen múltiple formas ilimitadas de actualizar una página 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) 

    Si necesitábamos sacar el documento de    el servidor web nuevamente (por ejemplo, donde el contenido del documento    cambiar dinámicamente) pasaríamos el argumento como true.

Puede continuar la lista siendo creativa:

  • window.location = window.location
  • window.self.window.self.window.window.location = window.location
  • ... y otras 534 formas

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



Muchas formas funcionarán, supongo:

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

181
2018-03-23 11:58



Para volver a cargar una página con jQuery, hazlo:

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

El enfoque que utilicé aquí fue Ajax jQuery. Lo probé en Cromo 13. Luego coloco el código en el controlador que disparará la recarga. los URL es "", lo que significa esta página.


113
2017-09-30 11:00



Si la página actual fue cargada por una solicitud POST, es posible que desee utilizar

window.location = window.location.pathname;

en lugar de

window.location.reload();

porque window.location.reload() pedirá la confirmación si se invoca en una página cargada por una solicitud POST.


97
2018-06-22 11:58



La pregunta debería ser,

Cómo actualizar una página con JavaScript

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

Tienes donde elegir.


55
2018-03-23 12:01



Es posible que desee utilizar

location.reload(forceGet)

forceGet es un booleano y opcional.

El valor predeterminado es falso, que vuelve a cargar la página desde la memoria caché.

Establezca este parámetro en verdadero si desea obligar al navegador a obtener la página del servidor para deshacerse también de la memoria caché.

O solo

location.reload()

si quieres de forma rápida y fácil con el almacenamiento en caché.


47
2017-07-25 14:27



Tres enfoques con diferentes comportamientos relacionados con el caché:

  • location.reload(true)

    En los navegadores que implementan el forcedReload parámetro de location.reload(), vuelve a cargarse obteniendo una copia nueva de la página y todos sus recursos (scripts, hojas de estilo, imágenes, etc.). No servirá alguna recursos del caché: obtiene copias nuevas del servidor sin enviar ninguna if-modified-since o if-none-match encabezados en la solicitud.

    Equivalente a que el usuario haga una "recarga dura" en los navegadores donde sea posible.

    Tenga en cuenta que pasar true a location.reload() es compatible con Firefox (ver MDN) e Internet Explorer (ver MSDN) pero no es compatible universalmente y no es parte de la especificación W3 HTML 5, ni el borrador W3 de la especificación HTML 5.1, ni el estándar de vida WHATWG HTML.

    En navegadores no compatibles, como Google Chrome, location.reload(true) se comporta igual que location.reload().

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

    Recarga la página, obteniendo una copia nueva, no almacenada en caché del HTML de la página, y realizando RFC 7234 solicitudes de revalidación de cualquier recurso (como scripts) que el navegador haya almacenado en caché incluso si son Fresco son RFC 7234 permite que el navegador los sirva sin revalidación.

    Exactamente cómo el navegador debe utilizar su caché al realizar un location.reload()la llamada no está especificada o documentada por lo que puedo decir; Yo determiné el comportamiento anterior mediante la experimentación.

    Esto es equivalente a que el usuario simplemente presione el botón "actualizar" en su navegador.

  • location = location (o infinitamente muchas otras técnicas posibles que implican asignar a location o a sus propiedades)

    ¡Solo funciona si la URL de la página no contiene un fragid / hashbang!

    Recarga la página sin reutilizar o revalidar alguna  Fresco recursos del caché. Si el propio HTML de la página es nuevo, volverá a cargar la página sin realizar ninguna solicitud HTTP.

    Esto es equivalente (desde una perspectiva de almacenamiento en caché) al usuario que abre la página en una pestaña nueva.

    Sin embargo, si la URL de la página contiene un hash, esto no tendrá efecto.

    Una vez más, el comportamiento de almacenamiento en caché aquí no está especificado, por lo que sé; Lo determiné probando.

Entonces, en resumen, quieres usar:

  • location = location para el uso máximo de la memoria caché, Mientras la página no tiene un hash en su URL, en cuyo caso esto no funcionará
  • location.reload(true) para obtener nuevas copias de todos los recursos sin revalidar (aunque no es universalmente compatible y se comportará de manera diferente a location.reload() en algunos navegadores, como Chrome)
  • location.reload() para reproducir fielmente el efecto del usuario haciendo clic en el botón 'actualizar'.

28
2017-11-14 11:22



window.location.reload() volverá a cargar desde el servidor y cargará todos sus datos, secuencias de comandos, imágenes, etc. de nuevo.

Entonces, si solo quieres actualizar el HTML, window.location = document.URL regresará mucho más rápido y con menos tráfico. Pero no volverá a cargar la página si hay un hash (#) en la URL.


20
2017-10-13 20:32