2010-09-08 26 views
20

Estoy usando ajax para cargar el contenido de mi sitio web y quiero actualizar la ubicación de la ventana cuando ajax tiene éxito.Cambiar la ubicación de la ventana Jquery

¿Cómo puedo actualizar la ubicación de la ventana a "/ nueva página"? Necesito que los usuarios puedan regresar y actualizar. ¿¿Es posible??

Respuesta

6

Puede establecer el valor de document.location.href para este fin. Apunta a la URL actual. jQuery no está obligado a hacer esto.

+0

No quiero redirigirlos. Solo cambia la url. – user342391

+0

Si cambia la url, obligará al navegador a intentar solicitar ese lado del servidor url. No puedes simplemente cambiar la URL en espíritu. Lo mejor que puedes hacer es cambiar la parte '# hash' de la url si la usas. – MooGoo

+8

@user - No puede cambiar la URL (excepto el hash) * sin * redireccionarlos, sería un gran problema de seguridad si pudiera :) –

43

Estoy asumiendo que usted está utilizando jQuery para realizar la llamada AJAX para que pueda hacer esto con bastante facilidad al poner la redirección en el éxito de esta manera:

$.ajax({ 
     url: 'ajax_location.html', 
     success: function(data) { 
      //this is the redirect 
      document.location.href='/newpage/'; 
     } 
    }); 
3

Suponiendo que desea cambiar la URL a otra dentro del mismo dominio, puede utilizar esto:

history.pushState('data', '', 'http://www.yourcurrentdomain.com/new/path'); 
0

estoy escribiendo función común para la ventana de cambio

este código se puede utilizar en paralelo todo tipo de proyecto

function changewindow(url,userdata){ 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: userdata, 
     dataType: "html", 
     success: function(html){     
      $("#bodycontent").html(html); 
     }, 
     error: function(html){ 
      alert(html); 
     } 
    }); 
} 
Cuestiones relacionadas