【问题标题】:Decoding url within encoded parameters (returnUrl)在编码参数中解码 url (returnUrl)
【发布时间】:2019-06-30 20:33:49
【问题描述】:

我想使用参数 «returnUrl » 的倍数来检索 url 中的一些参数。

例子:

HTTPS://force.com?positionId=a0w0X000007HjBuQAK&lang=fr&mediaChannel=a0o0X00000EGQ5TQAX&returnUrl=https%253A%2F%2force.com%2Fcxsrec__cxsSearchDetail%3Fid%3Da0w0X000007HjBuQAK%26lang%3Dfr%26mediaChannel%3Da0o0X00000EGQ5TQAX%26returnUrl%3Dhttps%253A%2F%2force.com%2Fcxsrec__cxsSearch%253Flang%253Dfr%2526mediaChannel%253Da0o0X00000EGQ5TQA%2526 site%253DFrance%2526hcFilter%253Da0Z0X00000XiFF3UAN%252Ca0Z0X00000XiUqTUAV%2526orderBy%253DPosition_name__c%2526orderDir%253Dasc%2526mediaChannel%253Da0o0X00000EGQ5TQAX%26lang%3Dfr%26mediaChannel%3Da0o0X00000EGQ5TQAX’

?...returnUrl%3Dhttps%253A%2F%2force.com%2Fcxsrec__cxsSearch%253Flang%253Dfr%2526mediaChannel%253Da0o0X00000EGQ5TQA%2526站点%253DFrance%2526hcFilter。 ..

我想获取参数site的值。

我尝试使用 decodeURI 函数,然后 searchParams.get("site")decodeURI 它没有解码 decodeURI 之后的参数强>returnUrl。

还有其他功能可以做到这一点吗?

【问题讨论】:

    标签: javascript url uri decode url-parameters


    【解决方案1】:

    你需要decodeURIComponent()

    我删除了网址中site 之前的一个空格:

    const url1 = new URL('https://force.com?positionId=a0w0X000007HjBuQAK&lang=fr&mediaChannel=a0o0X00000EGQ5TQAX&returnUrl=https%253A%2F%2force.com%2Fcxsrec__cxsSearchDetail%3Fid%3Da0w0X000007HjBuQAK%26lang%3Dfr%26mediaChannel%3Da0o0X00000EGQ5TQAX%26returnUrl%3Dhttps%253A%2F%2force.com%2Fcxsrec__cxsSearch%253Flang%253Dfr%2526mediaChannel%253Da0o0X00000EGQ5TQA%2526site%253DFrance%2526hcFilter%253Da0Z0X00000XiFF3UAN%252Ca0Z0X00000XiUqTUAV%2526orderBy%253DPosition_name__c%2526orderDir%253Dasc%2526mediaChannel%253Da0o0X00000EGQ5TQAX%26lang%3Dfr%26mediaChannel%3Da0o0X00000EGQ5TQAX');
    const params1 = new URLSearchParams(url1.search);
    const returnUrl = params1.get('returnUrl');
    
    const url2 = new URL(decodeURIComponent(returnUrl));
    const params2 = new URLSearchParams(url2.search);
    const site = params2.get('site');
    
    console.log(site);
    

    encodeURIComponent() description查看一些细节

    【讨论】:

    • 工作正常.. 非常感谢。我只是将 const 替换为 var 以在 GTM 中被识别。
    猜你喜欢
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2011-07-02
    • 1970-01-01
    相关资源
    最近更新 更多