30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма.
Привет всем. Имеем следующее.
2 скрипта на сервере. Допустим login.php и loginpost.php
Первый, выводит форму. Второй получает данные из формы.
Второй скрипт, если все плохо, или все хорошо, или все средне возвращает 30(1|2) редирект.
Добавляю Аякс. На форму вещаю обработчик, который при нажатии пользователем кнопки отправить, проверяет данные в форме, и отправляет данные на скрипт loginpost.php.
Loginpost.php модифицирую так, чтобы если все плохо, и запрос Ajax возврашался объект с ошибками в формате JSON. Если все хорошо, вместо 30(1|2) редиректа возвращаю редирект для javascript.
Проблема в следующем, как сделать обработчик ответа от loginpost.php
У меня есть следующие варианты.
Если запрос Ajax и требуеться сделать редирект loginpost.php возврашает window.location = урл. А в обработчике запроса, мы проверяем ответ сервера, если начинаеться с window то выполняем как просто javascript через eval, иначе обрабатываем с помощью eval как json ответ.
Либо сделать тоже самое, но вместо window.location = урл loginpost.php будет возврашать json всегда, но тогда в обработчике ответа нужно после создания json проверять, есть ли в объекте свойство redirect и если есть, то редиректить.
Или есть еще более просто способ? И если нет. Каким бы вы воспользовались?
P.s. Извините что несколько сумбурно написал.
|