2010-09-08 5 views
20

Я использую ajax для загрузки содержимого своего сайта и хочу обновить местоположение окна, когда ajax успешно.Изменить местоположение окна JQuery

Как обновить расположение окна до «/ newpage»? Мне нужно, чтобы пользователи могли вернуться и обновиться. Это возможно??

ответ

6

Для этой цели можно установить значение document.location.href. Он указывает на текущий URL. jQuery не требуется для этого.

+0

Я не хочу перенаправлять их. Просто измените URL. – user342391

+0

Если вы измените URL-адрес, вы заставите браузер попытаться запросить эту серверную страницу. Вы не можете просто изменить URL в духе. Лучшее, что вы могли бы сделать, это изменить часть '# hash' URL-адреса, если вы его используете. – MooGoo

+8

@user - вы не можете изменить URL-адрес (кроме хеша) * без * перенаправления их, это было бы большой проблемой безопасности, если бы вы могли :) –

43

Я предполагаю, что вы используете JQuery, чтобы сделать вызов AJAX, так что вы можете сделать это довольно легко, поставив редирект в успех так:

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

Предполагая, что вы хотите изменить URL на другой в пределах одного домена, вы можете использовать это:

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

Я пишу общие функции для окна изменения

этот код может быть использован параллельно в весь тип проекта

function changewindow(url,userdata){ 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: userdata, 
     dataType: "html", 
     success: function(html){     
      $("#bodycontent").html(html); 
     }, 
     error: function(html){ 
      alert(html); 
     } 
    }); 
} 
Смежные вопросы