我在页面中有一个链接。点击链接弹出窗口应该使用必需的url呈现。我有window.open代码如下
<a href="javascript:;" onclick="window.open('/action.do?name=aravind&age=19&url=http://astrik.com/click?id=613*B&offerValue=2.9','chatWindow','menubar=1, scrollbars=yes, resizable=yes, width=600,height=450');return false;">Click here</a>
点击上面的链接,弹出窗口打开,网址为http://astrik.com/click?id=613 * B,并且offerValue没有显示在弹出的网址中。我需要在网址中显示offerValue。任何不显示的原因offerValue。
答案 0 :(得分:0)
尝试以下方法:
<a href="javascript:;" onclick="window.open('/action.do?name=aravind&age=19&url=http://astrik.com/click?id=613*B%26offerValue=2.9','chatWindow','menubar=1, scrollbars=yes, resizable=yes, width=600,height=450');return false;">Click here</a>
您必须URL encode参数为“url”值,否则它们会附加到原始网址。
答案 1 :(得分:0)
在使用之前,您应该在url中转义数据部分。在这种情况下,数据部分url被url中的&符号(&amp;)窃听。
var url = encodeURIComponent('http://astrik.com/click?id=613*B&offerValue=2.9');
<a href="javascript:void(0);" onclick="window.open('/action.do?name=aravind&age=19&url=' + url,'chatWindow','menubar=1, scrollbars=yes, resizable=yes, width=600,height=450');return false;">Click here</a>
(或者只是替换&符号,现在不确定)
答案 2 :(得分:0)
提供的网址包含?表示参数列表的开头。每个参数由&
分隔。因此,对于解析器,提供的参数列表如下所示:
name=aravind
,age=19
,url=http://astrik.com/click?id=613*B
和offerValue=2.9
。它们都属于/action.do
的请求。
您需要使用其转义码%26
来转义最后一个放大器,如下所示:
/action.do?name=aravind&age=19&url=http://astrik.com/click?id=613*B%26offerValue=2.9
将最后一个参数“绑定”到astrik URL。也许它还需要逃脱第二次?与%3F
。