#php #jquery #ajax #session
#php #jquery #ajax #сессия
Вопрос:
Я использую Ajax-запрос для удаления элемента из сессионного массива с помощью этого кода :
Моя функция Ajax :
function session_delete(item) {
$.ajax({
type: "POST",
url: "php/session_delete.php",
data: {item:item},
dataType: "json",
success: function (data) {
alert(data.length);
}
})
}
session_delete.php :
<?php
session_start();
if (isset($_SESSION['user'])) {
$item=$_POST['item'];
unset($_SESSION['user'][$item]);
echo json_encode($_SESSION['user']);
}
Этот код работает хорошо и отменяет установку элемента массива на стороне сервера, но когда данные Json возвращаются на сторону клиента, отображается предыдущее $_session['user']
значение (не обновляется) И при перезагрузке страницы или повторном запросе показывать истинное значение
Комментарии:
1. вы только сбрасываете
item
of$_SESSION['user']
, а не саму сессию. чтобы сбросить его, используйтеunset($_SESSION['user'])
вам не нужно передавать идентификатор сеанса в php. файл cookie отправляется во всех http-запросах и считывается сервером.2. вопрос немного двусмысленный… работает хорошо, но не срабатывает. Не совсем ясно, что такое цель или что показывает true