我如何设置标题。我查看了整个互联网,但当我将其发送到服务器时,它无法识别我的授权标头。你是怎么解决这个问题的?我有用户名或密码并正确设置标题,但没有设置标题。还响应401错误,因为未设置标头授权。
let username: string = 'username';
let password: string = 'password';
let headers: Headers = new Headers();
headers.append("Accept", 'application/json');
headers.append("Authorization", "Basic " + btoa(username + ":" + password));
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let options = new RequestOptions({ headers: headers });
var url = "http://MYURL?grant_type=password&username="name"&password="pwd""
this.http.post(url, options)
.subscribe(res => {
console.log(res['_body']);
}, (err) => {
console.log("Somthing went wrong!"+err);
});
请解决我的问题如何获得适当的回复。 THANKYOU
答案 0 :(得分:0)
如果您使用的是HttpClient,则可以使用此方法解决此问题 -
像这样创建选项和标题对象 -
let options: any = {};
options.headers = new HttpHeaders({ Accept: 'application/json',
Authorization: "Basic " + btoa(username + ":" + password),
'Content-Type': 'application/x-www-form-urlencoded'
});
然后调用POST方法 -
var url = "http://MYURL?grant_type=password&username='name'&password='pwd'"
this.http.post(url, options)
.subscribe(res => {
console.log(res['_body']);
}, (err) => {
console.log("Somthing went wrong!"+err);
});
Alos请注意网址中名称和密码的引用。
答案 1 :(得分:0)
这是它的工作方式:
let headers = new HttpHeaders();
headers = headers.append(“ Authorization”,“ Basic” + btoa(“ username:password”));