RFC3986 之前的 URL 的 Node.js URL 编码(使用 + 与 %20)

标签 node.js query-string urlencode url-encoding

在 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/

相关文章:

node.js - 运行 mocha 测试后如何终止 nodemon 进程?

node.js - 如何执行密集的 Node.js 计算

java - 如何使用 Struts 2 标签从 JSP 访问查询字符串?

sql - 只有内置函数的 urlencode

javascript - socket.io 中的房间。如何发送消息?

javascript - node.js - 按值对 JSON 对象进行排序

elasticsearch - 带有连字符的elasticsearch查询字符串

php - 如何从 URL 中删除这种类型的字符串 #VTkfzCGqqkow

c# - 在 ASP.NET 编码引号中,阻止请求到达路由

java - Spring 启动 : @RequestParam in controller reads the request with '&' and '#' as empty