我正在尝试使用基于 https 的 API,该 API 在 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);
关于javascript - AngularJS 中出现 CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548107/