calling Https url on Http get request angularjs

岁酱吖の 提交于 2019-12-12 20:38:23

问题


I have a Https url and want to send request to get data from that URL , scenario 1: from my browser If I hit the Url i get the response whereas from my Angularjs App I get always an error 401 , but if I hit the Api from browser I always get the correct response

for security reasons I couldn't use Url here but what I want is to:

  $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
     }

I always get unauthorized I am network as well as On console any help will be greatly appreciated ,

but If I hit the same Url from browser I get the response It means the backend is working fine

I think I am missing something in my get request that's why getting the error


回答1:


It seems a CORS (Cross-Origin Resource Sharing) issue.

In AngularJS side, you should use the following configuration in order for $http service to automatically send authorization headers to http requests.

var app = angular.module('app', [])
    .config(function($httpProvider) {
        $httpProvider.defaults.useXDomain = true;
        $httpProvider.defaults.withCredentials = true;
    });

And in backend you should specify explicitly allowed origins (eg. http://localhost:8888).
Also, note some points from here.

If you want to allow credentials then your Access-Control-Allow-Origin must not use *.



来源:https://stackoverflow.com/questions/47855856/calling-https-url-on-http-get-request-angularjs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!