jquery 如何使用JavaScript删除查询字符串中的URL编码

f87krz0w  于 2023-08-04  发布在  jQuery
关注(0)|答案(2)|浏览(94)

我有搜索文本框。当用户输入一些文本时,我的查询字符串显示带有ASCII字符的文本,如%20%3F。我想在我的文本框中显示此文本,而不像正常的HTML文本那样显示任何ASCII代码。如何在JavaScript中做到这一点?

yebdmbv4

yebdmbv41#

使用decodeURIComponent()

var querystring = "?foo=bar%20baz";
console.log(decodeURIComponent(querystring));

字符串
decodeURIComponent MDN reference

szqfcxe2

szqfcxe22#

您也可以将URLSearchParamsdecodeURIComponent沿着使用。
我个人比较喜欢URLSearchParams
根据我的测试,decodeURIComponent实际上只是剥离/替换URI编码,但URLSearchParams只返回特定querystrings的值,并允许方法获得特定的键/值对,如下所示。
示例如下:

var querystring = "?foo=bar%20baz";
var decoded = decodeURIComponent(querystring)
console.log('decoded:');
console.log(decoded)
var urlParams = new URLSearchParams(querystring);
var foo = urlParams.get('foo');
console.log('foo:');
console.log(foo)

字符串

相关问题