为了账号安全,请及时绑定邮箱和手机立即绑定

URLSearchParams 没有给出正确的参数值

URLSearchParams 没有给出正确的参数值

慕娘9325324 2023-05-19 14:58:19
我正在尝试使用 URLSearchParams 来提取其值经过 AES 加密的 url 参数。但我注意到,如果该值包含“+”号,则 URLSearchParams 没有给出正确的值。例如,如果 url 是“https://www.google.com/?data=a+b”,则 URLSearcParams 将数据作为“a b”提供。我正在使用下面的代码。var url = new URL('https://www.google.com/?data=a+b') url.searchParams.get('data')如果有任何其他方法可以提取 url 参数值,谁能告诉我。
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

您必须使用searchParams.append()才能正确设置查询字符串参数。我制作了一个包含所有键 + 值的简单对象,然后是一个辅助函数来正确附加对象的内容:


const url = new URL('https://www.google.com/')

const params = {

  'data': 'a+b',

  'moarData': 'c+d'

};


Object.entries(params).forEach(([key, val]) => url.searchParams.append(key, val));


console.log(url.searchParams.get('data'));

console.log(url.searchParams.get('moarData'));


查看完整回答
反对 回复 2023-05-19
  • 1 回答
  • 0 关注
  • 309 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信