У меня есть index.php
, где я занимаюсь session_start()
и т. Д. Для входа я отправляю запрос ajax на receiver.php
, где я устанавливаю переменные сеанса и т. Д. И возвращаю ответ ajax.
Теперь я могу полностью захватить переменные сеанса php только при обновлении страницы index.php
которая имеет следующий код:
jsSessionUserId = <?php if (isset($_SESSION['userId'])) { //LoggedIn: echo json_encode($_SESSION['userId']); } else { // Not logged in. // some code here } ?>;
Я действительно хочу включить это в функцию, а затем вызвать эту функцию, когда получаю успешный ответ ajax (и, следовательно, не нужно обновлять страницу index.php
). Это не работает. Я подозреваю, что php не работает внутри функции javascript. Благодарен за любую помощь.
Плохая идея смешать вещи. Как php и javascript. Самое простое решение для вас прямо сейчас – перезапишите переменные javascript после получения успешного ответа на вход.
$.post("receiver.php", formData, function(response){ // login callback if(response.UserId){ // return user id if login is successful jsSessionUserId = response.UserId; // overwrite old variable } }, "json");