在 Node.js 中,我使用 querystring.stringify()
将对象编码为查询字符串以在 URL 中使用。包含空格的值被编码为 %20
。
我正在使用一个特别挑剔的网络服务,它只接受编码为 +
的空格,就像 RFC3986 之前通常所做的那样。 .
有没有办法为查询字符串设置一个选项,以便将空格编码为 +
?
目前,我只是执行 .replace()
将 %20
的所有实例替换为 +
,但如果有一个我可以提前设置的选项,这有点乏味。
最佳答案
如果有人仍然面临这个问题,“qs”npm 包具有将空格编码为 + 的功能
qs.stringify({ a: 'b c' }, { format : 'RFC1738' })
关于RFC3986 之前的 URL 的 Node.js URL 编码(使用 + 与 %20),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712602/