Задать вопрос
@gembux

Не происходит редирект из php при выполнении query.get?

Здравствуйте.
у меня есть вот такой код:
$.get('/admin/timetable/save/', {date: e.date.format("YYYY-MM-DD")})

в php скрипте date записывается в таблицу и осуществляется редирект на эту же страницу.
так вот запись в таблицу происходит, а редирект нет
не могу найти в чем дело
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
chlp
@chlp
фулстек
Я правильно понял, что вы хотите, чтобы после выполнения
$.get('/admin/timetable/save/', {date: e.date.format("YYYY-MM-DD")})

пользователь перенаправлялся на ту страницу, на которую его редиректнул php?

Если да, то: запрос $.get отправляется асинхронно. Представьте это так: он открывает новую невидимую вкладку браузера по указанному адресу, отправляет указанные данные, в этой же вкладке происходит ваш редирект, а после успешного выполнения закрывает ее. Данные были записаны, но в основной вкладке перехода не случилось.
У вас есть 2 варианта действий.
1й простой: вместо $.get сделайте простое перенаправление текущей вкладки на нужную страницу:
window.location.href = '/admin/timetable/save/?date=' + e.date.format("YYYY-MM-DD")

2й: на php вместо редиректа сделайте единственный вывод:
echo $redirectUrl;
а в функции, выполняющей действия после успешного выполнения $.get сделайте переход, использую JavaScript:
$.get('/admin/timetable/save/', {date: e.date.format("YYYY-MM-DD")}).done(function( url ) {
    window.location.href = url;
  });

Так вы, например, сможете повесить анимацию, которая будет крутится до тех пор, пока не выполнится переход.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы