2015-09-25 3 views
2

Мой главный вопрос выделен жирным шрифтом внизу. Я бы очень хотел ответить на это, но если вы хотите помочь мне разобраться в остальной части проблемы, пожалуйста, продолжайте читать.Настройка window.location против ввода url?

Я работаю над веб-приложением, чье завершение сеанса выполняется с помощью бэкэнда Spring (это истечение 30-минутной сессии Tomcat по умолчанию). Если вы вошли в приложение, а затем введите «www.myapplication.com/portal/logout» (а не реальный url, obv.), Вы выходите из системы и перенаправляетесь на страницу входа в систему. Отлично. Тем не менее, если вы установите

window.location = 'http://www.myapplication.com/portal/logout' 

в стороне клиента JavaScript, что URL появляется в строке URL-адрес в браузере, но Whitelabel страницы результатов ошибка, которая генерируется другой службой на внутреннем интерфейсе.

Почему существует разница между вводом URL-адреса и установкой window.location в коде? Должна ли быть разница? Или вы думаете, что эта другая услуга работает с перенаправлением? Если да, то почему же такая ошибка не возникает при вводе URL-адреса?

PS. Я также попробовал window.location.href = url и window.location.replace (url), с тем же эффектом.

+0

@Buzinas window.location.assign (URL) был путь. Благодаря! Сейчас выполняется перенаправление. – user3846568

ответ

2

Вы должны попробовать:

window.location.assign(url); 
0

Установка window.location является распространенной ошибкой. Объект location имеет функцию под названием assign, которая откроет новое местоположение.

Попробуйте использовать следующие вместо:

window.location.assign('http://www.myapplication.com/portal/logout') 

Вы можете также использовать open() функцию window объекта.

window.open ('http://www.myapplication.com/portal/logout')

+0

Объект 'window.location' не имеет метода с именем' open'. – Buzinas

+0

@Buzinas, вы правы, open - это метод 'window'. 'assign()' это то, о чем я думал –

Смежные вопросы