【发布时间】:2015-12-09 11:15:54
【问题描述】:
我正在尝试使用基于 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"};
以下是我面临的错误 -
让我知道我做错了什么,或者在这里遗漏了什么。
【问题讨论】:
-
浏览器不会让您的 JavaScript 代码访问该 URL,除非它的服务器响应访问控制标头允许它这样做。
-
如果是 https 调用,我认为您不能使用 $http。通过保持代码相同但尝试访问开源 http 来测试它。
-
@JoeLloyd 这不是
http与https的问题,除非源域相同,并且尝试访问的页面不是http但服务是。 -
@Pointy 请检查屏幕截图,因为服务器正在响应 Access-Control-Allow-Origin 标头
-
@JoeLloyd 不是http的情况
标签: javascript php angularjs cors angularjs-http