2010-09-08 4 views
20

Ich verwende Ajax, um den Inhalt meiner Website zu laden und möchte den Fensterstandort aktualisieren, wenn Ajax erfolgreich ist.Fensterposition ändern Jquery

Wie kann ich den Fensterstandort auf "/ newpage" aktualisieren ?? Ich brauche Benutzer in der Lage zu gehen und zu aktualisieren. Ist das möglich??

Antwort

6

Sie können den Wert document.location.href für diesen Zweck festlegen. Es zeigt auf die aktuelle URL. jQuery ist dazu nicht erforderlich.

+0

Ich möchte sie nicht umleiten. Ändern Sie einfach die URL. – user342391

+0

Wenn Sie die URL ändern, werden Sie den Browser zwingen, zu versuchen, diese URL-Server-Seite anzufordern. Sie können nicht einfach die URL im Geiste ändern. Am besten können Sie den '# Hash'-Teil der URL ändern, wenn Sie ihn verwenden. – MooGoo

+8

@user - Sie können die URL (außer dem Hash) * ohne * Umleiten nicht ändern, es wäre ein riesiges Sicherheitsproblem, wenn Sie könnten :) –

43

Ich nehme an, Sie jquery verwenden die AJAX-Aufruf zu machen, so dass Sie diese ziemlich leicht tun können, um die Umleitung in den Erfolg setzen wie so:

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

Angenommen, Sie die URL zu einem anderen innerhalb der gleichen Domäne ändern möchten, können Sie diese verwenden:

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

Ich schreibe gemeinsame Funktion für Fensterwechsel

dieser Code können parallel verwendet werden, in alle Art von Projekt

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