我在使用字符串和 Fetch API 时遇到了一些困难。我有一个 React 组件,它接受一个字符串,将它设置为一个变量,然后构建一个我可以传递给 fetch()
的查询变量。
问题在于考虑导致 404 响应的特殊字符。以下是我正在使用的字符串的一些示例,以及它们所需的输出。
INPUT >>> DESIRED OUTPUT
Something's going on here >>> somethings-going-on-here
Dungeons & dragons >>> dungeons-%26-dragons
It's happening, right here >>> its-happening-right-here
我有以下正则表达式,但它还不完整(缺少将 &
转换为 %26
)
replace(/,?\s+/g, '-')
我曾研究过使用 encodeURIComponent
函数,但它似乎没有考虑单引号,这就是我使用正则表达式的原因。
最佳答案
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
var params = new URLSearchParams();
params.set('param1',`Something's going on here`);
params.toString();
您还可以使用一个库来为您处理它: https://www.npmjs.com/package/query-string https://www.npmjs.com/package/qs
关于javascript - 准备要传递到 API 查询的字符串(转义特殊字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61191561/