Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs $http Get请求中的基本身份验证_Angularjs_Angularjs Http_Request Headers - Fatal编程技术网

Angularjs $http Get请求中的基本身份验证

Angularjs $http Get请求中的基本身份验证,angularjs,angularjs-http,request-headers,Angularjs,Angularjs Http,Request Headers,我正在尝试使用基本身份验证访问REST API服务 这非常适合作为卷曲请求: curl -D- -X GET -H "Authorization: Basic eW**********0NQ==" -H "Content-Type: application/json" "https://api.domain.com/api/users/email/first.last@domain.com" 在angular中,我尝试了这个,但它似乎不起作用,因为我得到了一个501错误 var _url =

我正在尝试使用基本身份验证访问REST API服务

这非常适合作为卷曲请求:

curl -D- -X GET -H "Authorization: Basic eW**********0NQ==" -H "Content-Type: application/json" "https://api.domain.com/api/users/email/first.last@domain.com"
在angular中,我尝试了这个,但它似乎不起作用,因为我得到了一个
501
错误

var _url = "https://api.domain.com/api/users/email/first.last@domain.com";
var _authdata = Base64.encode('MyUsername' + ':' + 'MyPassword');
var _headers = {
   'Authorization': 'Basic eWd***********0NQ==',
   'Content-Type': 'application/json'               
};

$http({
     method: 'GET',
     url: _url,
     headers: _headers
}).then(function(request) {
     console.log('request');
});
我正在试图理解为什么这不能正常工作。COR不是问题所在


有什么建议吗?

Base64.encode对于angular js来说是不可理解的,您可以使用javascript“btao”和“atob”,或者您可以通过npm包含Base64

也许下面的代码片段会对您有所帮助

var _url = "https://api.domain.com/api/users/email/first.last@domain.com";
  var _authdata = btoa('MyUsername' + ':' + 'MyPassword');
  var _headers = {
     'Authorization': 'Basic' + _authdata,
     'Content-Type': 'application/json'               
  };

  $http({
       method: 'GET',
       url: _url,
       json: true,
       headers: _headers
  }).then(function(request) {
       console.log('request');
  });
也可以使用npm包含Angular-base64依赖项:

那么,服务器的响应是什么<代码>401,
403
,还有其他的吗?你发送的是帖子而不是get。您也不使用_authdata.Try
method:'GET'
501出现在某些未实现的情况下,而您正在尝试这样做。哦,是的,抱歉,复制和粘贴错误。但得到它,答案是501。