Javascript 以角度发送标头参数
我正在使用此方法登录:Javascript 以角度发送标头参数,javascript,angular,ionic-framework,Javascript,Angular,Ionic Framework,我正在使用此方法登录: doLogin(username, password){ return this.http.post(Config.BASE_URL + '/login',{ username: username, password: password }) } 我想将header参数添加到此范围: doLogin(username, password){ return this.http.post(Config.BASE_
doLogin(username, password){
return this.http.post(Config.BASE_URL + '/login',{
username: username,
password: password
})
}
我想将header参数添加到此范围:
doLogin(username, password){
return this.http.post(Config.BASE_URL + '/login',{
username: username,
password: password,
headers: {
'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
}
})
}
我检查了控制台,它没有发送标题。发生了什么?如何解决此问题?您需要在名为Headers的Json变量中发送头,如:
返回this.http.post(Config.BASE_URL+'/login',body,{headers:this.headers})代码>
您正在体内发送标题。使用http模块的标题:
import { Http, Headers } from '@angular/http';
let header1 = 'test';
let header2 = 'test2';
let headers = new Headers();
headers.append('header1', header1);
headers.append('header2', header1);
doLogin(username, password){
return this.http.post(Config.BASE_URL + '/login',{
username: username,
password: password,
headers: headers
})
}
您的代码的问题是您正在发送正文中的标题。请尝试以下代码片段
doLogin(username, password){
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
return this.http.post(Config.BASE_URL + '/login',{username:username,password:password},{headers:headers})
}
如果您想使用x-www-form-urlencoded
您可以使用URLSearchParams
作为请求的主体,angular将自动将内容类型设置为application/x-www-form-urlencoded
,并正确编码主体
let body = new URLSearchParams();
body.set('username', username);
body.set('password', password);
this.http.post(Config.BASE_URL + '/login', body).map(...);
如果对发送身份验证凭据感兴趣
let headers = new Headers();
headers.append('Authorization' , 'Basic ' +
btoa(username
+ ':' + password));
headers.append('Content-Type' , 'application/x-www-form-urlencoded; charset=UTF-8');
this._http.get(url , {headers:headers});
this.http的类型是什么?
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers });
return this.http.post(Config.BASE_URL + '/login',{
username: username,
password: password
} , options)