Я вызываю php скрипт таким образом
/*Клик на элементе*/
/*Ставим куку show_cryptocurrency_on_graph с добавлением в неё новых значений*/
$.ajax({
url: 'actions.php?change_cryptocurrency_on_graph&action=remove&cryptocurrency_id_name='+this.id,success: function(panels_data){$('#source_panel_data').html(panels_data);}
});
/*Читаем куку*/
/*alert(document.cookie);*/ /*Пауза*/
$.ajax({
url: 'actions.php?insert_graph_script',success: function(graph_data){$('#graph_data').hide().html(graph_data).fadeIn('fast');}
});
Первый ajax запрос вызывает скрипт, который ставит куку
Он добавляет в неё значение - кука "растет", там всё больше информации
setcookie('show_cryptocurrency_on_graph', $show_cryptocurrency_on_graph, time()+$cookie_time,"/");
А второй ajax запрос их читает
$show_cryptocurrency_on_graph=$_COOKIE['show_cryptocurrency_on_graph'];
Происходит очень странная вещь. А именно - задержка в 1 шаг.
Если поставлена кука test, то прочтена кука - "пусто"
Если далее поставленно значение go, то прочтена кука - test
Если далее поставленно значение ready, то прочтена кука - testgo
Я не понимаю, что происходит.
Скрипты вызываются. Куку и её содержимое я вижу в браузере. А на этапе чтения (сразу после записи) только предыдущее значение куки. И в php коде (отладка) я вижу что прочиталось предыдущее.
Если мы раскомментируем alert - своего рода паузу, то все заработает.
Есть мнение, что это связано с заголовками.
Но один раз, я смог обойти это ограничение (глюк?), вызвав цепочку php функций.
Вы не могли бы мне объяснить в чем тут дело? Как корректно работать с ajax и cookie?