200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > angular6中将字符串转为html HttpParams angular 6中的“+”字符转换为空格

angular6中将字符串转为html HttpParams angular 6中的“+”字符转换为空格

时间:2024-01-26 11:56:36

相关推荐

angular6中将字符串转为html HttpParams angular 6中的“+”字符转换为空格

这是一个常见的问题。这个

+

URL使用字符分隔两个单词。为了使用

+

参数值中的字符,在将参数值作为URL的一部分添加之前,需要对其进行编码。Javascript/TypeScript提供

encodeURI()

为此目的而发挥作用。

以下是解决此问题的方法:

let mobile = encodeURI("+911234567890");

let text = encodeURI("1 + 2 = 3");

this.updateUser({"name":"ABC","mobile": mobile,"text":text});

public updateUser(myObj) {

const body = new HttpParams().set('user_object', JSON.stringify(myObj));

return this.http.post(url, body, {

headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8')

});

}

或者

您可以对updateUser()方法的内部进行编码:

this.updateUser({"name":"ABC","mobile": "+911234567890","text":"1 + 2 = 3"});

public updateUser(myObj) {

let encodedJson = encodeURI(JSON.stringify(myObj));

const body = new HttpParams().set('user_object', encodedJson);

return this.http.post(url, body, {

headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8')

});

}

或者

使用正则表达式替换

+

发送到服务器之前:

let jsonData = JSON.stringify(myObj);

jsonData = jsonData.replace(/\+/gi, '%2B');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。