2015-04-22 2 views
0

В принципе, процесс Войти работает следующим образом:Как обрабатывать вход в AJAX

  • пользователь вводит его информацию в регистрационной форме и отправляет их,
  • на сервере (рубин, PHP, nodejs, независимо) анализирует эти Infos и
    • а) перенаправляет на вошедшей странице
    • б) перенаправляет на страницу Логгина с сообщением об ошибке (который может быть обработан с помощью URL-адреса или сессии ...)

Если процесс должен выполняться в ajax, сервер не может перенаправлять (плюс это не является желаемым поведением).

Итак, каково это путь? Сервер отправляет сообщение (например, «logged» или «wrongpass»), и JavaScript обрабатывает логику соответственно?

Я не смог найти информацию о субэлементе.

+0

Если он перенаправляет, в чем смысл использования ajax для входа? – adeneo

+0

Он не перенаправляет. Даже если бы это было так, мне было бы более бесполезно перенаправлять, только если loggin удастся и отобразит сообщение об ошибке, не перезагружая страницу, если это не так. Более того, в случае входа через API это только запрос json. – Buzut

ответ

1

Вы можете выслать клиенту ответ JSON с чем-то вроде:

если все в порядке:

{ 
    "status": "ok" 
} 

набор сессии, печенье ....

или если ошибка:

{ 
    "status": "error", 
    "message": "username not found or wathever" 
} 

, а затем с помощью javascript делать все, что хотите, в соответствии с тем, что вы получили от сервера.

Ex: перенаправление на страницу LoggedIn, показать ошибку сообщение ...

1

В большинстве случаев идея заключается в том, чтобы дать клиенту подтверждение того, что он аутентифицирован (например, токен). Затем клиент сможет включить его в дальнейшие запросы, чтобы разрешить использовать «зарезервированные» операции ...

Я могу разработать, если вам нужна дополнительная информация, чтобы выкопать это.

0

Обычно сервер отвечает «успех» или «не удалось» сообщение. Затем приложение JavaScript должно обрабатывать это сообщение.

Это зависит от вашего приложения, если перенаправление необходимо после входа в систему, но если это необходимо, JavaScript должен вызвать его.

Смежные вопросы