【发布时间】:2017-04-23 07:21:33
【问题描述】:
我在尝试执行来自 Angular 2 的 Http GET 请求时遇到了自定义标头的问题。从 Postman 执行相同的请求工作正常,但是我在 Angular2 中收到以下 405 错误:
OPTIONS http://[somehost.com]/api/v1/admin/account/singin 405 (Method Not Allowed)
API 有一个 GET 操作,您可以在标头中传递用户名和密码,它会在标头中返回一个带有令牌的 200。这是我正在使用的代码块的示例:
constructor (private http: Http) {
}
login (userName: string, password: string): Observable<any> {
const endPointUrl = this.baseUrl + '/admin/account/singin';
const headers = new Headers({
'Accept': 'application/json',
'X-Rem-Username': userName,
'X-Rem-Password': password
});
const options = new RequestOptions({headers: headers});
return this.http.get(endPointUrl, options)
.map((response: Response) => {
console.log(response);
return response;
});
}
正如我所提到的,在 Postman 和他的 WebStorm REST 客户端中使用这些标头执行此请求工作正常。如果我删除这些“X-Rem”标题,我会得到一个 401,这是预期的。任何帮助将不胜感激,谢谢。
【问题讨论】:
-
将
X-Rem-Username和X-Rem-Password添加到您的 CORS 响应标头Access-Control-Allow-Headers.. 假设您已经在服务器上设置了 CORS。 -
您好,我会要求提供者这样做。
-
成功了,谢谢
标签: javascript angular http angular2-http