@gembux

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

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

в php скрипте date записывается в таблицу и осуществляется редирект на эту же страницу.
так вот запись в таблицу происходит, а редирект нет
не могу найти в чем дело
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 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;
  });

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

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

Войти через центр авторизации
Похожие вопросы
16 апр. 2024, в 14:03
5000 руб./за проект
16 апр. 2024, в 13:17
5000 руб./за проект