在Http上调用Https url获取请求angularjs

时间:2017-12-17 13:58:12

标签: angularjs angularjs-http

我有 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,我会得到响应这意味着后端工作正常

我认为我在获取请求中遗漏了一些错误

的原因

1 个答案:

答案 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不得使用*。