我需要使用angular http post请求向登录api发送用户名和密码。这是我的代码:
const params = new URLSearchParams();
params.set('username', username);
params.set('password', password);
this.headers = new Headers({ 'content-type': 'application/x-www-form-urlencoded', 'authorization': 'Basic' });
this.options = new RequestOptions({headers: this.headers, method: RequestMethod.Post, params: params });
return this.http.post(this.config.baseUrlAuthSvc + this.config.login, this.options)
.map((response) => { return response; })
我收到以下错误:
请求网址:http://111.22.333.44:55/api/token 请求方法:选项 状态代码:400错误请求 远程地址:172.31.131.13:85 推荐人政策:no-referrer-when-downgrade
我错过了什么吗?
答案 0 :(得分:0)
显然,在帖子请求中,不可能在请求选项中传递参数。 http.post请求中的第二个参数是body,所以我传递了字符串'username = xyz& password = 123'作为第二个参数,它运行正常。
关键是,如果它是一个http post请求,请不要使用params。
答案 1 :(得分:-1)
你能用这种方式试试吗
return $http.post(URL, data, {
headers: {
"Content-Type": "application/x-www-form-urlencoded"
}
}).success(function (response) {
return response;
});
数据是输入参数,例如如下
var data = "username=" + username + "password=" + password;