2014-10-13 3 views
0

Я хочу, чтобы сессия обновлялась всякий раз, когда элемент был нажат в div, но похоже, что мой сеанс не обновляется всякий раз, когда я использую ajax. Я хочу, чтобы сессия обновлялась, а не просто печатала данные в моем ajax.Обновление сеанса с использованием AJAX

вот мой Аякс:

$('.chat_div').click(function(){ 
var id = $(this).attr('id'); 
    $.ajax({ 
     url: 'plugins/get_id.php', 
     data: {id:id}, 
     success: function(data) 
     { 
      alert("<?php echo $_SESSION['chat_mate_id'];?>"); 
     } 
    }); 
    }); 

вот мой PHP-файл:

session_start(); 
$_SESSION['chat_mate_id'] = $_GET['id']; 
+0

Первое, что вы делаете это очень неправильно .. вы просто не можете ожидать сеанса varaible в ответе ajax .. после установки его на ajax-вызов .. потому что ваша страница уже загружена .. и переменная сеанса уже напечатана в как предупреждающее сообщение – bhushya

ответ

4

Вы генерация HTML-документ, который имеет некоторый встроенный JS в нем. В то время, когда вы создаете документ HTML, вы выводите значение переменной сеанса в JS как строковый литерал .

Затем вы запускаете JS, который выполняет второй HTTP-запрос и обновляет значение переменной сеанса.

Когда приходит ответ, вы сообщаете значение строки, введенной на страницу , когда загружена исходная страница.

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

вывод работы программы PHP минутой назад не изменится ретроактивно. Ajax - это не путешествие во времени.

+0

Благодарим вас за четкое объяснение. :) –