Борьба с немного тайной относительно призрака, как JESSIONID Cookie. Я использую JESSIONID для сохранения сеансов между изменениями состояния на сайте AJAX. Это отлично работает на развернутом сервере, но не при запуске сайта на localhost с использованием внешнего сервлета на основе XML.JSESSIONID Cookie отклонено/потеряно
Использование инструментов HTTP заголовков я был в состоянии определить, что JSESID Cookie просто не установлена:
локальных -> внешняя: попытка вход
внешнего -> LOCALHOST: возвращает XML и правильный комплект- Cookie с JSESID
localhost -> внешний: отправляет следующий запрос без JSESID Cookie (другие файлы cookie, однако, есть> отправлено).
Я пробовал несколько компьютеров (и браузеров), и результат тот же. Странно, однако, решения работают на мобильных устройствах (PhoneGap + Android/iOs). Исходя из этого, я также попытался запустить сайт из файла: //, но не повезло.
Поскольку сервлет уже развернут (Tomcat 6), к сожалению, я мало что могу изменить с этой целью, но, насколько я могу судить, маловероятно, что проблема в этом. Я также попытался решить проблему №1, как было предложено в this thread. Это устанавливает JSESID с именем cookie, но контент наполняется «тарабарщиной».
function postDataToBean(formId, callbackFunc, callbackError)
{
$.ajaxSetup ({
cache: false
});
var_form_data = $("#" + formId).serialize();
var request = $.ajax({
url: getAppBackEndURL() + $("#" + formId).attr("action"),
type: "POST",
data: var_form_data,
dataType: "xml",
contentType : "application/x-www-form-urlencoded"
});
request.done(callbackFunc);
request.fail(callbackError);
}
Как выглядит весь ответ Set-Cookie с сервера? Каковы точные URL-адреса, к которым вы пытаетесь получить доступ? –
у меня нет доступа к проекту на данный момент, но с верхней части моей головы, я считаю, что ответ выглядел примерно так: Set-Cookie: JSESSIONID = XXXXXXXXXXXXXXXXXXXXXXXXXXXX; PATH =/ Проект работает на localhost, в то время как сервлет/служба, с которой я общаюсь, находится на mydomain.com (я буду обновлять реальный URL-адрес как можно скорее). –
Пожалуйста, разместите весь Set-Cookie, когда у вас есть его, включая все параметры. –