Ajax-запросы очищают сессию в Rails 3.0.5 - PullRequest
1 голос
/ 06 апреля 2011

Я пишу приложение на Rails.Когда я работал с переменными сеанса, я заметил, что хэш сеанса очищается при перезагрузке страницы.Я отладил его и случайно обнаружил, что в функции onload () я запустил несколько запросов Ajax для правильной обработки кнопок возврата браузера, и, очевидно, эти запросы Ajax каким-то образом очищали сеанс.Я закомментировал эти запросы Ajax и обнаружил, что переменные сеанса не были очищены.

Я только что обнаружил, что проблема не связана с вызовами onload, но в целом любой вызов ajax, кажется, очищает сеанс.Может кто-нибудь объяснить это поведение?

В моем файле макета application.html.erb

<body onload="setDefaults()">  

В моем файле public / javascripts / application.js

function setDefaults()
{
if($('page_type').value == 'create')
    {
        new Ajax.Request('/accessions/show_species', {asynchronous:true, evalScripts:true, parameters:'selected_value='+$('accession_report_type').value});
        new Ajax.Request('/accessions/display_funds', {asynchronous:true, evalScripts:true, parameters:'customer_type='+$('accession_customer_type').value});
        new Ajax.Request('/accessions/show_specimen', {asynchronous:true, evalScripts:true, parameters:'identical='+$('species_is_identical').checked+'&count='+$('species_number').value+'&current_count='+$('specimen_info_div').childElements().length});
    }
}

Можеткто-нибудь, дайте мне знать, если я делаю что-то, чего не должен делать.

Спасибо,

1 Ответ

1 голос
/ 07 апреля 2011

Обнаружил ту же проблему в этом посте и нашел решение для нее.Это сработало.

Devise + Rails 3.0.4 заканчивает сеанс после AJAX-запроса

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...