我正在尝试使用基于https的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"};
以下是我所面临的错误 -
让我知道我做错了什么,或者在这里失踪。
答案 0 :(得分:0)
如果您只是需要测试您的应用,可以使用此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);
答案 1 :(得分:0)