Угловой и CORS
Я пишу приложение с угловой 1.2 и пытаюсь вызвать REST API на локальном стекле 3.1. Я правильно называю это:
app.factory("shopModel", function($resource){
return $resource('http://localhost:8080/Schedule-service/shops', {}, {
query:
{method:'GET',
headers: {'Content-Type': 'application/json'}
params:{}}
});
});
Но я получаю ошибку в моем Chrome.
XMLHttpRequest cannot load http://localhost:8080/Schedule-service/shops. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.
Я добавил в свое приложение конфиг этот код, но это убежищеТ помогло:
app.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}]);
Я нене знаю что делать Я буду благодарен за каждый совет.
Редактировать. Я добавил headers_module в мой apache wamp. И я добавил в мой файл httpd.conf это:
Header set Access-Control-Allow-Origin: *
Но все еще нет работа. Какие-либо предложения??
Edit2. Хорошо, я разрешаю это. Я'мы добавили этот фильтр в мой веб-сайт Spring:
public class CorsFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS");
response.addHeader("Access-Control-Allow-Headers",
"origin, content-type, accept, x-requested-with, sid, mycustom, smuser");
filterChain.doFilter(request, response);
}
}
Спасибо Квентин.