Я пытаюсь использовать API на базе https, который успешно работает в POSTMAN и других клиентах REST, но не в моем приложении AngularJS.
Ниже приведен код —
var req = {
method: 'POST',
url: 'https://agXXXXX.com/api/contact/',
headers: {
'Content-Type': undefined
},
data: user,
withCredentials: true
};
$http(req)
.then(function(data){
console.log("--Data--");
console.log(data);
})
После нескольких статей, связанных с CORS, я также включил это в .config()
но не повезло —
$httpProvider.defaults.useXDomain = true;
$httpProvider.defaults.headers.common = {Accept: "application/json, text/plain, */*"};
$httpProvider.defaults.headers.post = {"Content-Type": "application/json;charset=utf-8"};
Вот ошибка, с которой я сталкиваюсь —
Дайте мне знать, что я делаю не так или скучаю здесь.
Если вам просто нужно протестировать ваше приложение, вы можете использовать этот плагин Chrome:
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi
Но если вам нужно это в производстве, вам нужно настроить свой сервер. Если вы используете SPRING:
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST,PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers", "Authorization,Content-Type");
chain.doFilter(req, res);
Вы должны добавить в свой сервер заголовки кода, чтобы включить Cors.
на этом сайте вы можете прочитать об этом и получить код для его реализации в зависимости от языка в вашем бэкэнде: