在HTTP上调用HTTPS URL获取请求AngularJS



我有 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)。
另外,请注意一些点。

如果要允许凭据,则您的访问控制 - 允许孔不得使用 *。

最新更新