CORS и Tomcat

У меня проблема с Tomcat и магистралью, использующей CORS. Настройка выполняется следующим образом: - Backbone отправляет почтовый запрос в tomcat - Tomcat проверяет, используя web.xml и настраиваемый фильтр (ссылка: CORS FILTER IN JAVA) и использует CORS для этого запроса - запрос обрабатывается через фильтр CORS и соответствует - ответ отправляется обратно в магистраль и не выполняется.

Backbone выполняет 2 запроса, первый 1 - это предварительный запрос и возвращает статус 200 (что хорошо), второй запрос возвращает статус 302, потому что мой jsessionid изменяется и хочет перенаправить на страницу входа, которая не работает (не в порядке).

В магистрали я уже добавил это:

data: param,
    // contentType: 'application/x-www-form-urlencoded; charset=utf-8',
    dataType: 'jsonp',
    crossDomain: true,
    //async: true,
    xhrFields: {
       withCredentials: true
    },

И в коте это:

<init-param>
     <param-name>cors.allowOrigin</param-name>
        <param-value>http://localhost:8888 http://localhost:8881</param-value>
    </init-param>
    <init-param>
     <param-name>cors.supportedMethods</param-name>
        <param-value>GET, POST, HEAD, PUT, DELETE, OPTIONS</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportedHeaders</param-name>
        <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified, X-File-Name</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportsCredentials</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowGenericHttpRequests</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>cors.maxAge</param-name>
        <param-value>3600</param-value>
    </init-param>

Но все равно не повезло. Мой JSESSIONID не отправляется моему tomcat, что вызывает создание нового JSESSIONID и сбой моего запроса.

Любая помощь будет полезна :)

Я использую Tomcat 6.0.16 и JQuery 1.8


person darkownage    schedule 02.12.2013    source источник


Ответы (1)


Измените dataType на 'json'.

person idbehold    schedule 02.12.2013