Получение запроса не проходит проверку контроля доступа: заголовок "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);
}
});
490   2  

2 ответов:

в принципе, чтобы сделать междоменные AJAX-запросы, запрошенный сервер должен разрешить совместное использование ресурсов (CORS) между источниками. Вы можете прочитать больше об этом здесь: http://www.html5rocks.com/en/tutorials/cors/

в вашем случае, вы настраиваете заголовки в клиенте, который на самом деле должен быть установлен в http://localhost:8080/app код на стороне сервера.

Если вы используете PHP Apache server, то вам нужно будет добавить следуя в вашем .htaccess file:

Header set Access-Control-Allow-Origin "*"

в случае запроса к службе отдыха:

вам нужно разрешить CORS (совместное использование ресурсов перекрестного происхождения) на конечной точке вашего сервиса REST с аннотацией Spring:

@CrossOrigin(origins = "http://localhost:8080")

очень хороший учебник: https://spring.io/guides/gs/rest-service-cors/

Comments

    Ничего не найдено.