获取请求的angular2基本授权 - 405

时间:2016-04-10 06:43:39

标签: drupal get http-headers angular basic-authentication

我正在尝试获取Get请求的基本授权,但我有2个例外:

Person players[] = { new SoccerPlayer("Mia Hamm", 7), new SoccerPlayer("Kristine Lilly", 6) }; System.out.println(players[0].compareTo((SoccerPlayer) players[1])); // Line ***

OPTIONS http://localhost/drupal/user/1?_format=json

我正在使用angular2和drupal 8后端

这是我的服务

XMLHttpRequest cannot load http://localhost/drupal/user/1?_format=json. Response for preflight has invalid HTTP status code 405

但是当我从邮递员应用程序尝试相同的请求时,它可以正常工作

enter image description here

我该如何解决?

1 个答案:

答案 0 :(得分:1)

在Postman中,您正在发送标题:

Authorization: Basic bXVyaGFmOmhleGFkZWNpbWFsMDU

但是你正在传递角色:

  headers.append('Authorization', 'Basic ' + btoa('bXVyaGFmOmhleGFkZWNpbWFsMDU'));

最终会成为:

Authorization: Basic YlhWeWFHRm1PbWhsZUdGa1pXTnBiV0ZzTURV

所以,不要将字符串转换为base64

headers.append('Authorization', 'Basic bXVyaGFmOmhleGFkZWNpbWFsMDU');

更新

错误代码405表示:Method Not Allowed,这意味着,drupal不允许OPTIONS个请求。我之前没有和Drupal合作过。但是,应该有一种方法可以允许OPTIONS次请求。