我有一个Https网址,并希望发送请求从该网址获取数据,方案1:从我的浏览器如果我点击网址我得到响应,而从我的Angularjs应用程序我总是得到错误401,但如果我点击了Api从浏览器我总是得到正确的答复
出于安全考虑,我不能在这里使用Url,但我想要的是:
$http({
method: "GET",
url: "https://urlAdresss/",
headers: {
"Accept-Language": "en-US, en;q=0.8",
"Content-Type": "application/json;charset=UTF-8"
},
}).then(function (_response) {
console.log(_response
}
我总是未经授权我是网络以及在控制台上任何帮助将不胜感激,
但如果我从浏览器中找到相同的Url,我会得到响应这意味着后端工作正常
我想我在获取请求中遗漏了一些错误的原因
这似乎是一个CORS(跨源资源共享)问题。
在AngularJS方面,您应该使用以下配置,以便$http
服务自动将授权标头发送到http请求。
var app = angular.module('app', [])
.config(function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
$httpProvider.defaults.withCredentials = true;
});
在后端你应该明确指定允许的起源(例如.http://localhost:8888
)。
另外,请注意来自here的一些观点。
如果要允许凭据,则Access-Control-Allow-Origin不得使用*。