javascriptencodeURIComponent 返回附加字符

发布于 2024-12-07 23:31:02 字数 784 浏览 1 评论 0原文

由于某种原因,我在使用 javascriptencodeURIComponent 函数的编码 URI 中获取了额外的代码,即 %25 字符:

我的函数是:

function twit_click() {
    var u="https://www.website.com/<?php echo $_SESSION['id'];?>";
    var t="sometext";
    window.open('http://www.twitter.com/share?url='+encodeURIComponent(u)+'&text='+encodeURIComponent(t),'twitsharer','toolbar=0,status=0,width=626,height=436');
    return false;   
}

当我单击文本并调用 twit_click() 函数时,我得到以下 URL:

http: //twitter.com/intent/tweet?text=sometext&url=https%253A%252F%252Fwww.website.com%252Fuserid

而不是它应该是什么:

http://twitter.com/intent/tweet?text=sometext&url=https%3A%2F%2Fwww.website.com%2Fuserid

我错过了什么吗?它添加了额外的“25”字符,这意味着我的 URI 中有 %,但我显然没有。

For some reason, I am getting additional code in my encoded URI's with javascript encodeURIcomponent function, namely %25 character:

My function is:

function twit_click() {
    var u="https://www.website.com/<?php echo $_SESSION['id'];?>";
    var t="sometext";
    window.open('http://www.twitter.com/share?url='+encodeURIComponent(u)+'&text='+encodeURIComponent(t),'twitsharer','toolbar=0,status=0,width=626,height=436');
    return false;   
}

when I click the text and call twit_click() function, I get the following URL:

http://twitter.com/intent/tweet?text=sometext&url=https%253A%252F%252Fwww.website.com%252Fuserid

as opposed to what it should be:

http://twitter.com/intent/tweet?text=sometext&url=https%3A%2F%2Fwww.website.com%2Fuserid

am I missing something? It is adding in additional "25" characters which would imply I have % in my URI which I clearly do not.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遗心遗梦遗幸福 2024-12-14 23:31:02

从“www.twitter”中删除“www”即可。

http://jsfiddle.net/tzkpz/

Twitter 在从 www 重定向时必须重新编码 URL。 twitter.com 到 twitter.com,因此是双重编码。

Remove the "www" from "www.twitter" and it works.

http://jsfiddle.net/tzkpz/

Twitter must be re-encoding the URL when it redirects from www.twitter.com to twitter.com, hence the double encoding.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文