JQuery CORS и перенаправления
Использование JQuery 1.8.2I '
сделать CORS-запрос к приложению с одного AppServer (Фронт) к другому AppServer (назад) сервер. Когда я делаю следующие Ajax звонки изФронт, ответ 302 (проверка безопасности) отназад Это правда, но мой файл cookie JSESSIONID не сохраняется:
$.ajax({
url : url,
dataType : 'html',
success : function(data, status, xhr) {
$(dataContainer).append(data);
},
complete: function(xhr, status, error) {
if (xhr.status != 200) {
$.logger(xhr.getResponseHeader('Location'));
}
}
});
Теперь, если я сделаю тот же вызов, но добавлю в withCredentials, мой JSESSIONID правильно сохраняется, но перенаправление 302 сбрасывается. Оба Chrome & Firefox (последние версии обоих) просто прекращают обработку запроса.
$.ajax({
xhrFields: { withCredentials: true },
url : url,
dataType : 'html',
success : function(data, status, xhr) {
$(dataContainer).append(data);
},
complete: function(xhr, status, error) {
if (xhr.status != 200) {
$.logger(xhr.getResponseHeader('Location'));
}
}
});
Я пытаюсь получить заголовок местоположения перенаправления от объекта xhr, но он пуст.
Я устанавливаю следующее на все ответы, выходящие изНазад:
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS");
response.setHeader("Access-Control-Max-Age", "1728000");
response.setHeader("Access-Control-Allow-Headers", "Cookie,X-Requested-With");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Expose-Headers", "Location");
Очевидно, яЯ ограничу Происхождение, когда / если я смогу заставить его работать.
Кто-нибудь знает, что нужно, чтобы заставить это работать с JQuery? Это проблема с JQuery, или проблема со всеми запросами Ajax + CORS?