Получение запроса не проходит проверку контроля доступа: заголовок "Access-Control-Allow-Origin" отсутствует на запрошенном ресурсе
Я пытаюсь отправить запрос Ajax на сервер Tomcat из моего приложения, но я получаю эту ошибку (мое веб-приложение работает на Chrome):
ответ на предполетный запрос не проходит проверку контроля доступа: на запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Поэтому Origin 'null' не имеет доступа. Ответ имел код состояния HTTP 403.
Я пробовал использовать
'Access-Control-Allow-Origin' : 'http://localhost:8080/app',
но это не работа.
мой Ajax код:
var arr = [1];
$.ajax({
url: 'http://localhost:8080/app',
type: 'POST',
contentType:'application/json',
headers: {
'Access-Control-Allow-Origin' : 'http://localhost:8080',
},
data: JSON.stringify(arr[0]),
success: function(data){
//On ajax success do this
alert(data);
}
});
2 ответов:
в принципе, чтобы сделать междоменные AJAX-запросы, запрошенный сервер должен разрешить совместное использование ресурсов (CORS) между источниками. Вы можете прочитать больше об этом здесь: http://www.html5rocks.com/en/tutorials/cors/
в вашем случае, вы настраиваете заголовки в клиенте, который на самом деле должен быть установлен в http://localhost:8080/app код на стороне сервера.
Если вы используете PHP Apache server, то вам нужно будет добавить следуя в вашем
.htaccessfile:Header set Access-Control-Allow-Origin "*"
в случае запроса к службе отдыха:
вам нужно разрешить CORS (совместное использование ресурсов перекрестного происхождения) на конечной точке вашего сервиса REST с аннотацией Spring:
@CrossOrigin(origins = "http://localhost:8080")очень хороший учебник: https://spring.io/guides/gs/rest-service-cors/
Comments