javascriptencodeURIComponent 返回附加字符

JM4*_*JM4 5 javascript url uri urlencode

由于某种原因,我在使用 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;   
}
Run Code Online (Sandbox Code Playgroud)

当我单击文本并调用 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 中有 %,但我显然没有。

gil*_*ly3 2

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

http://jsfiddle.net/tzkpz/

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