我有 Https网址,并希望发送请求以从该网址获取数据,方案1: 来自我的浏览器 如果我点击了Url我得到了回复,而从我的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,我会得到响应这意味着后端工作正常
我认为我在获取请求中遗漏了一些错误
的原因答案 0 :(得分:2)
这似乎是一个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不得使用*。