我有 https url ,并希望发送请求以从该URL获取数据,方案1:来自我的浏览器,如果我点击URL,我会得到响应,而从我的gangularjs应用程序中,我始终会出现错误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
)。
另外,请注意一些点。
如果要允许凭据,则您的访问控制 - 允许孔不得使用 *。