Ahora mismo tengo un formulario donde el usuario ingresa la información. Es de procesado bu función ajax de jQuery y se establece en return false; así que no hay recarga de la página que sucede después de que el usuario envía un formulario.
Aunque tengo que volver a cargar la página, pero si puedo quitar return false; refresca la página antes que el éxito de mensaje se muestra (este mensaje se muestra cuando el usuario envía los datos).

     $.ajax({
      type: "POST",
      url: "scripts/process.php",
      data: dataString,
      success: function() {
       $("#st_message").html("<p> Your article was successfully added!</p>");
       //I need to reload page after the above message is shown
      }
     });
    return false;

Entonces, ¿cómo puedo volver a cargar la página después de la <p> Your article was successfully added!</p> mensaje se muestra, con un poco de retraso decir 2 – 3 segundos, de manera que el usuario pueda leer el mensaje.

InformationsquelleAutor Ilja | 2011-12-06

8 Comentarios

  1. 30

    Podría añadir un retardo mediante el setTimeout() función, tales como:

    //This will reload the page after a delay of 3 seconds
    window.setTimeout(function(){location.reload()},3000)

    Para sus necesidades:

    $.ajax({
          type: "POST",
          url: "scripts/process.php",
          data: dataString,
          success: function() {
               $("#st_message").html("<p> Your article was successfully added!</p>");
               window.setTimeout(function(){location.reload()},3000)
          }
    });
    return false;

    Ejemplo De Trabajo

    • por alguna razón esto no funciona, puede ser porque la de regreso falso?
  2. 4

    Hacerlo con algo como:

    function delayedRedirect(){
        window.location = "/index.php"
    }
    
    setTimeout('delayedRedirect()', 3000)

    setTimeout se utiliza para retrasar la redirigir la llamada a la función, en este caso, usted puede redirigir a algún lugar a una nueva URL (sólo en caso de que necesite que también).

    De lo contrario usar location.reload() para volver a cargar la página.

  3. 2

    ¿Te refieres a algo como : window.location.reload() en JavaScript

    • por alguna razón esto no funciona, puede ser porque la de regreso falso?
  4. 2

    darle uso

    setTimeout("window.location='yourpage.php'",3000);

    en el código :

     $.ajax({
           type: "POST",
           url: "scripts/process.php",
           data: dataString,
           success: function() {
            $("#st_message").html("<p> Your article was successfully added!</p>");
            setTimeout("window.location='yourpage.php'",3000);//reload after 3 sec.
           }
          });
     return false;
    • por alguna razón esto no funciona, puede ser porque la de regreso falso?
    • traté de que la redirección aquí el código y su trabajo muy bien..
    • por alguna razón tuve que agregar antes $(«#st_message»).htm… y ahora funciona gracias )))
  5. 2

    Utilizar el setTimeout método para obtener el retraso, y el reload método para volver a cargar la página. Nota el true parámetro en el reload llamada para asegurarse de que la página es en realidad reloaded, y no sólo pintar de la caché.

    window.setTimeout(
      function(){
        location.reload(true)
      },
      3000
    );
    • por alguna razón esto no funciona, puede ser porque la de regreso falso?
    • Que No, que sólo podría ser un problema si se trató de volver a cargar la página de inmediato. También, al cambiar el orden de el código como lo señalamos en otro comentario no hace ninguna diferencia. Tal vez un error tipográfico?
  6. 1
     $.ajax({
      type: "POST",
      url: "scripts/process.php",
      data: dataString,
      success: function() {
      var miliseconds = 2000;
    
       $("#st_message").html("<p> Your article was successfully added!</p>");
       setTimeout("window.location=window.location", miliseconds);
       //I need to reload page after the above message is shown
      }
     });
  7. 1
    <script type="text/javascript">
     //
     //your action here
     //
     window.setTimeout(function(){self.parent.location="?list"},3000);//after 3 sec go to (?list or example.html page)
     return false;
    </script>

Dejar respuesta

Please enter your comment!
Please enter your name here