Показать сообщение отдельно
  #1 (permalink)  
Старый 18.02.2010, 06:52
Новичок на форуме
Отправить личное сообщение для pizzZ Посмотреть профиль Найти все сообщения от pizzZ
 
Регистрация: 17.11.2009
Сообщений: 5

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. Извините что несколько сумбурно написал.
Ответить с цитированием