Ajax-вызов Spring MVC на сервере Tomcat из ReactJS на сервере Apache

0

Я пытаюсь вызвать метод контроллера в приложении весны mvc, которое находится на сервере tomcat, используя ajax на моей странице ReactJS, которая находится на сервере Apache. В консоли tomcat я вижу, что весна получает вызов и обрабатывает его. Однако вызов ajax не вызывает функцию "успех", даже несмотря на то, что приложение Spring успешно обработало вызов. Есть ли какая-либо другая конфигурация в моем аякс-коде ReactJS?

componentDidMount: function() {
        $.ajax({
              type: "GET",
              url: "http://localhost:8080/SpringApp/ajaxCallTest",
              data: {testId:'345'},
              dataType: 'json',
              success: function(response) {
            alert('in success');
              }
            });
      }
  • 0
    Ничего на консоли Javascript?
  • 0
    Попробуйте создать функцию обратного вызова функции error, такую как error: function(xhr, status, err) {console.error('error', status, err.toString()); } и посмотреть, отображается ли sth в консоли js браузера.
Показать ещё 6 комментариев
Теги:
spring

1 ответ

1

добавьте это в web.xml:

<filter>
        <!-- The CORS filter with parameters -->
        <filter-name>CORS</filter-name>
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>

        <!-- Note: All parameters are options, if omitted the CORS 
             Filter will fall back to the respective default values.
          -->
        <init-param>
            <param-name>cors.allowGenericHttpRequests</param-name>
            <param-value>true</param-value>
        </init-param>

        <init-param>
            <param-name>cors.allowOrigin</param-name>
            <param-value>*</param-value>
        </init-param>

        <init-param>
            <param-name>cors.allowSubdomains</param-name>
            <param-value>false</param-value>
        </init-param>

        <init-param>
            <param-name>cors.supportedMethods</param-name>
            <param-value>GET, HEAD, POST, OPTIONS</param-value>
        </init-param>

        <init-param>
            <param-name>cors.supportedHeaders</param-name>
            <param-value>*</param-value>
        </init-param>

        <init-param>
            <param-name>cors.exposedHeaders</param-name>
            <param-value>X-Test-1, X-Test-2</param-value>
        </init-param>

        <init-param>
            <param-name>cors.supportsCredentials</param-name>
            <param-value>true</param-value>
        </init-param>

        <init-param>
            <param-name>cors.maxAge</param-name>
            <param-value>3600</param-value>
        </init-param>

    </filter>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню