let urlSearchParams = new URLSearchParams();
urlSearchParams.append("UserName",UserName);
urlSearchParams.append("Password",Password);
let body = urlSearchParams.toString()
var header = new Headers();
header.append("Content-Type", "application/x-www-form-urlencoded");
header.append("Accept", "application/json");
let option = new RequestOptions({ headers: header });
return this.http.post(this.baseUrl, body, option)
.map(res => res.json());
Run Code Online (Sandbox Code Playgroud)
上面是我用来将参数传递给 api 的方法。
问题是当我传递字符串时,test@123
API 中只有 test@1 可用。但是当我传递 123456789 时,完整的字符串可用。
我希望得到一些帮助。
用于encodeURIComponent
转义可能不符合 URI 参数的特殊字符或保留字符。
let urlSearchParams = new URLSearchParams();
urlSearchParams.append("UserName",encodeURIComponent(UserName));//here
urlSearchParams.append("Password",encodeURIComponent(Password));//and here
let body = urlSearchParams.toString()
var header = new Headers();
header.append("Content-Type", "application/x-www-form-urlencoded");
header.append("Accept", "application/json");
let option = new RequestOptions({ headers: header });
return this.http.post(this.baseUrl, body, option)
.map(res => res.json());
Run Code Online (Sandbox Code Playgroud)