virus_forever
@virus_forever

Как отловить location header в JQuery Ajax запросе?

Добрый день!

Подскажите, пожалуйста, можно ли каким-то образом при AJAX запросе JQuery получить доступ к заголовкам, а именно к Location?
Дело в том, что нужно сделать так, что если запрос идет AJAX нужно этот Location отловить и переадресовать браузер ( window.location ), а не выполнить этот же AJAX, но по тому методу. А если, получилось так, что запрос выполнен напрямую, через браузер, собственно по этому же Location и перейти.

Как это сделать?
  • Вопрос задан
  • 1040 просмотров
Решения вопроса 1
BRAGA96
@BRAGA96
$.ajax({
    url: 'https://jsonplaceholder.typicode.com/users',
    method: 'GET',
    dataType: 'json',
    success: function (data, status, jqXHR) {
        console.log(jqXHR.getAllResponseHeaders()); 
        // или jqXHR.getResponseHeader('location') (если такой header есть) 
    }
});

// pragma: no-cache
// content-type: application/json; charset=utf-8
// cache-control: public, max-age=14400
// expires: Mon, 19 Nov 2018 11:10:53 GMT
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Arik
Как нибудь так?
$(document).ajaxComplete(function (event, xhr) {
    var url = xhr && xhr.getResponseHeader('location');
    if (url) {
        window.location.assign(url);
    }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы