gpt4 book ai didi

javascript - 如何对 URL 进行编码以将其作为 GET 参数传递

转载 作者:行者123 更新时间:2023-12-02 20:39:54 25 4
gpt4 key购买 nike

我加载一个 JavaScript 文件,该文件将当前页面的 URL 作为参数。这是我使用的代码:

document.write(unescape('%3Cscript src=\"' + _vis_opt_protocol + 'domain.com/js.php&a='+account_id+'&url='+encodeURIComponent(document.URL)+'&random='+Math.random()+'\" type=\"text/javascript\"%3E%3C/script%3E'));

我认为encodeURIComponent 会完成对URL 进行正确编码的工作。然而,在加载 JS 文件时,浏览器也会解释编码的 URL。例如,如果 document.URL 为 http://example.com/?test=1#nono然后浏览器将 test 解释为 JS 的另一个参数,并且不会在 #nono 之后(包括)发送任何内容,因为它认为它是一个 anchor 。

对 URL 进行编码以便将其按原样传递到服务器的最佳方法是什么?我还尝试过使用 base64 或其他形式的编码。

最佳答案

问题是您调用的 unescape 函数撤消了 encodeURIComponent 的工作。你可以试试这个:

document.write('<script type="text/javascript" src="' + _vis_opt_protocol + 'domain.com/js.php&a=' + account_id + '&url=' + encodeURIComponent(document.URL) + '&random=' + Math.random() + '"><\/sc' + 'ript>');

关于javascript - 如何对 URL 进行编码以将其作为 GET 参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com