gpt4 book ai didi

javascript - 为什么 %26 作为 js 参数传递时会被解码

转载 作者:行者123 更新时间:2023-12-03 11:03:45 25 4
gpt4 key购买 nike

<script>
function postBackXTreeRequest(url)
{
alert(url);
}
</script>

<a class="tab0" target="_self" href="javascript:postBackXTreeRequest('?tvwID=A+%26+B');">test</a>

http://jsfiddle.net/tp27tbpe/

上面的代码将提醒 A & B 而不是 A+%26+B 这让我很困惑。为什么它会自动解码 url?

最佳答案

href 属性的值是一个 URL,因此 JavaScript 被编码在 URL 中。 URL 将在 JavaScript 执行之前被解码。

<小时/>

不要将 JavaScript 放入 href 属性中。请改用不显眼的 JavaScript。

<a class="tab0" target="_self" href="/server/side/fallback">test</a>

<script>
// You'll want a more specific selector that `a` here, but predicting what would suit your HTML is impossible
document.querySelector('a').addEventListener('click', function (event) {
postBackXTreeRequest('?tvwID=A+%26+B');
event.preventDefault();
});
</script>

关于javascript - 为什么 %26 作为 js 参数传递时会被解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27959935/

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