Я пытаюсь вызвать метод контроллера в приложении весны 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');
}
});
}
добавьте это в 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>
error: function(xhr, status, err) {console.error('error', status, err.toString()); }
и посмотреть, отображается ли sth в консоли js браузера.