【发布时间】:2019-01-27 06:56:33
【问题描述】:
我有一个 JSON 对象并使用 HttpParams 传递它,但它会将 + 转换为空间并发送到后端。我已经尝试了所有可能的方法,但没有人为 JSONObject 字符串解决它。
this.updateUser({"name":"ABC","mobile": "+911234567890","text":"1 + 2 = 3"});
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')
});
}
当我在 Network 中检查时,包含 + 字符的对象会自动转换为空格。
【问题讨论】:
-
尝试在您的号码周围使用引号。像“+911234567890”而不是+911234567890
-
这不是问题...在报价中也不起作用
-
你不能使用'application/json'作为内容类型吗?
-
由于我没有在后端处理json对象,这就是使用
x-www-form-urlencoded的原因 -
如果您需要发送“x-www-form-urlencoded”,请尝试在此处使用“URLSearchParams”+ 不转换为空格...如果您需要更多信息,那么我会给您示例。
标签: json angular typescript encoding