如何在Ionic 2中的HTTP POST请求头中设置JSON字符串?

如何在Ionic 2中的HTTP POST请求头中设置JSON字符串?,http,post,ionic2,Http,Post,Ionic2,我试图在Ionic 2中为POST请求的头设置一个JSON对象 var data= {attr1:"value1", attr2:"value2", attr3:"value3"}; headers = new Headers(); headers.append("Content-Type", 'application/json'); headers.set('data', JSON.stringify(data)); let options = new RequestOptions({ hea

我试图在Ionic 2中为POST请求的头设置一个JSON对象

var data= {attr1:"value1", attr2:"value2", attr3:"value3"};
headers = new Headers();
headers.append("Content-Type", 'application/json');
headers.set('data', JSON.stringify(data));
let options = new RequestOptions({ headers: headers });
但是我在请求中得到
数据:{“attr1”:“value1”
。整个字符串用逗号分割

不仅仅是JSON字符串,如果我尝试用逗号设置任何字符串,逗号后的字符不会出现在请求中。例如:

headers = new Headers();
headers.append("Content-Type", 'application/json');
headers.set('data', 'abc,def');
let options = new RequestOptions({ headers: headers });
我将在请求中获得
数据:abc

如何在Ionic 2中的请求头中设置JSON字符串(或任何带逗号的字符串)


提前感谢。

您可以在逗号之前转义字符\以便编译器可以忽略逗号并将字符串保持完整


例如:
headers.set('data','abc\,def');

也许你可以尝试将你的JSON字符串放在这个链接中,看看它是否有效?而不是
headers.set('data',JSON.stringify(data));
尝试
headers.append('data',JSON.stringify(data))