在尝试追问问号后,表单会出错

时间:2012-11-22 00:03:55

标签: javascript jquery ajax

我正在尝试将访问者发送到http://www.facebook.com/plugins/comments.php?href=http://google.com?c

给出错误

  

评论插件需要一个href参数。

此部分已正确呈现:http://www.facebook.com/plugins/comments.php

但是问号后的内容未能包括在内

<script>
function go(){
    var uri = 'http://www.facebook.com/plugins/comments.php' 
        + encodeURI('?href=http://google.com?c');

    window.frames[0].document.body.innerHTML = 
        '<form target="_parent" method="get" action="' 
        + uri 
        + '"></form>';
    window.frames[0].document.forms[0].submit();
}    
</script>
<iframe onload="window.setTimeout('go()', 99)" src="about:blank" style="visibility:hidden"> </iframe>?

2 个答案:

答案 0 :(得分:1)

更改为:

var uri = 'http://www.facebook.com/plugins/comments.php?' 
    + encodeURIComponent('href=http://google.com?c');

如果您对第一个?进行编码,则它不再用于将URL与其参数分开。

答案 1 :(得分:0)

只应编码查询的键和值,而不是?,&amp;或=因为这些是构成查询的字符。

var uri = 'http://www.facebook.com/plugins/comments.php?href=' 
    + encodeURIComponent('http://google.com?c');