我有基本身份验证的帖子请求。
public login = (resrc: string, item: any): Observable<any> => {
this.headers.append('Authorization', 'Basic ' + btoa(item['userName']+':'+item['password']));
return this._http.post(this._beconfig.Server + "login/api/" + resrc, {headers: this.headers})
.timeoutWith(5000, Observable.throw(new Error('Request timed out.')))
.map((response: Response) => { return response; })
.catch(this.handleError);
}
我的浏览器仍会提示输入用户名和密码。
你能帮忙解决问题吗?
答案 0 :(得分:0)
您正在请求正文中而不是选项部分发送标题。
如果你使用的是角度Http模块,那么这里是实现或post方法:
var randomized = numbers45.OrderBy(o => Guid.NewGuid().ToString());
因此,您需要在第三个参数中使用RequestOptions对象,您可以在其中放置标题:
var draws = randomized.Take(5).ToArray;
如果你在Angular 4.3+上使用HttpClient,post方法的实现有点不同:
post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
要使用它,您应该编写如下代码:
let options = new RequestOptions({ headers: this.headers });
this._http.post(this._beconfig.Server + "login/api/" + resrc, {}, options)