Van*_*del 7 http typescript angular
我正在尝试使用http库向特定的api发出登录请求.我收到错误的凭据错误,因为发送的数据以某种方式编码,所有加号都更改为空格.因此,如果我输入amani+salah@gamil.com作为电子邮件,console.log会正确记录它,但它会在formdata中以amani salah@gmail.com的形式发送.任何数据都会发生同样的情况,而不仅仅是电子邮件,因此如果用户的密码中包含+,则发送的数据将更改为.
这是我的代码:
let email = 'xxxx@example.com';
let password = 'xxxx';
let body = 'email='+email+'&password='+password;
console.log(body);
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let options = new RequestOptions({ headers: headers });
let url = this.base_url + '/login';
this.http.post(url, body, {headers: headers})
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
});
Run Code Online (Sandbox Code Playgroud)
您需要对encodeURIComponent中显示的字符串进行编码
let body = 'email='+encodeURIComponent('+email+'&password='+password);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1371 次 |
最近记录: |