2013-12-22 3 views
0

У меня есть страница, на которой люди могут войти и их запрос на вход отправляется с $ .ajax jQuery на страницу обработки. На этой странице все ошибки, собранные во время попытки входа в систему, хранятся в $ _SESSION ['error'].

Как получить доступ к этой переменной, чтобы предупредить пользователей об ошибках после попытки. Я знаю, как получить доступ к сеансу variale, я имею в виду, как мне получить доступ к переменной php без перезагрузки страницы. Единственный способ, о котором я сейчас знаю, - это добавить их при загрузке страницы, но должен быть каким-то образом получить к ним доступ с помощью JavaScript после того, как они изменились из-за запроса Ajax.

+2

Вы возвращаете их на вызов ajax, повторяя все, что вам нужно, чтобы вернуться. – adeneo

+0

Можете ли вы разместить код примера? –

+1

Состояние сеанса существует только на сервере; Javascript существует только на клиенте. Единственный способ общения между ними - включить данные в ответ на вызов AJAX. – SLaks

ответ

1

К сожалению, вы не можете напрямую получить доступ к массиву PHP $_SESSION[] из JavaScript. Это по дизайну, потому что одним из основных моментов использования сеанса является то, что данные сохраняются на стороне сервера, неизменяемые конечным пользователем, и, следовательно, ваш Javascript.

Однако, что вы можете сделать, это список ошибок в вашем ответе ajax. Скорее всего, вы делаете запрос ajax, который возвращает формат типа «json». Просто включите свой список ошибок в свой json, и используйте JavaScript для их отображения. Я рекомендую не разделить весь массив $_SESSION, так как он может предоставить некоторую ключевую информацию о взаимодействии вашего PHP.

Кроме того, если вы в настоящее время не выполняете запрос ajax, ожидающий json, назад, а затем подумайте о его переключении, чтобы вы ожидали и возвращали json. Таким образом вы можете предоставить гораздо больше скрытых данных, а не просто HTML или текст.

Надеюсь, что это поможет

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