Ajax файл конфликтует, выход из системы происходит автоматически - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть приложение, посредством которого у него есть страница, содержащая таблицу, которая частично ajaxed.Первоначальная цель состоит в том, чтобы увеличить атрибут емкости во временной сущности.Ниже представлен визуальный вид таблицы Изображение .При нажатии кнопки «плюс / минус» атрибут емкости увеличивается с использованием запроса PUT.Какой вы можете увидеть код для show.html.erb Pastie .В строке 82 вы увидите мой $ .put.Теперь у меня есть следующий код для моего ajax_request_PUT:

function _ajax_request(url, data, callback, type, method) {
    return jQuery.ajax({
        type: 'PUT',
        url: "slot_days/show",
        data: data,
        success: function(result)
        {
            callback();
        }
    });
}

jQuery.extend({
    put: function(url, data, callback, type) {
        return _ajax_request(url, data, callback, type, 'PUT');
}});  

У меня есть страница show.html.erb, которая включает этот файл ajax_request_PUT, выполнив <%=javascript_include_tag%>.Включив это в мой файл show.html.erb, я заметил, что получаю: PUT http://localhost:300/XXXX/xxx/show 401 Unauthorized 78ms после нажатия кнопки «+» - что я обнаружил, что это означает, что страница, которая являетсяПопытка доступа не может быть загружена, пока вы не войдете в систему. К моему удивлению, это странно.Это потому, что для того, чтобы использовать это приложение, вы должны войти в любом случае.Когда я ухожу со страницы, меня просят снова войти в систему, и я не могу понять, почему это происходит.Что я знаю, так это то, что я также получаю следующее сообщение в своем терминале: WARNING: Can't verify CSRF token authenticity Я удалил <%=javascript_include_tag%> и обнаружил, что эта проблема исчезла, однако моя таблица больше не была частично адаптирована.У кого-нибудь была такая же проблема?

1 Ответ

0 голосов
/ 16 февраля 2012

У меня была такая же проблема, и она была вызвана JavaScript и только в MSIE.Решение состоит в том, чтобы переместить ваш javascript в заголовок документа или внутри тега <body>, но на самом верхнем уровне, насколько это возможно.

...