Javascript JSON.stringify用空格替换加号

Javascript JSON.stringify用空格替换加号,javascript,json,ajax,Javascript,Json,Ajax,我使用AJAX并将stringsomeString发送给php处理程序 xmlHttp.open("POST", url, true); var someString = 'Foo+Bar'; var params = 'operation='+operation+'&json='+JSON.stringify(someString); xmlHttp.send(params); 如果某个字符串包含“+”,则将其替换为空格。正如我所读到的,这是JSON.stringify的正常工作,但

我使用AJAX并将stringsomeString发送给php处理程序

xmlHttp.open("POST", url, true);
var someString = 'Foo+Bar';
var params = 'operation='+operation+'&json='+JSON.stringify(someString);
xmlHttp.send(params);
如果某个字符串包含“+”,则将其替换为空格。正如我所读到的,这是JSON.stringify的正常工作,但是我如何才能得到好处(仅使用JS)


第二个问题是用JSON.stringify替换的其他符号是什么?

JSON.stringify
无关

+
的转换由服务器上的URL解析器完成。
+
是在URL中表示空间的一种方式(另一种是
%20


要将文本转换为安全插入URL,请使用与JSON无关的
encodeURIComponent

。stringify

+
的转换由服务器上的URL解析器完成。
+
是在URL中表示空间的一种方式(另一种是
%20


若要将文本转换为安全插入URL,请使用
encodeURIComponent

抱歉,这是一个愚蠢的问题。。。URL解析器即使我使用xmlHttp.open(“POST”,URL,true),也能工作,而不是GET?@ilyatom-URL就是URL,所以是的。(如果您的意思是在请求正文中发送数据,那么服务器用于解析发布数据的默认编码与URL相同)。。。URL解析器即使我使用xmlHttp.open(“POST”,URL,true),也能工作,而不是GET?@ilyatom-URL就是URL,所以是的。(如果您的意思是在请求正文中发送数据,那么服务器用于解析发布数据的默认编码与URL相同)。