我正在尝试使用JavaScript重定向到联盟链接。
问题是该网址包含&
,在重定向后会更改为&
。
location.href ="http://affiliatelink.com/?a=xxxxx&e=xxxx"
将在Web浏览器中更改为
http://affiliatelink.com/?a=xxxxx&e=xxxx
网址中的&
会员链接不起作用。
如何解决此问题? encodeURIComponent()
?
答案 0 :(得分:0)
是的,您需要%encode
具有encodeURIComponent
功能的网址...
encodeURIComponent('&') >> "%26"
通过弹出encodeURIComponent
功能...
var myURL = 'http://address.web/?info=data&info=data';
var encodeURL = encodeURIComponent( myURL );
...或者你可以使用传统的字符串.replace()
方法......
var reg = new RegExp( '&', g );
var myURL = 'http://address.web/?info=data&info=data';
var encodeURL = myURL.replace( reg, '%26' );
第一种方法的优势在于可以捕获所有%encode
个字符,其中第二种方法仅处理&
s。
答案 1 :(得分:0)
这是因为您从代码后面转移了网址,也许您可以尝试像javascript中的硬编码一样处理前端的网址,然后您的问题就会得到解决。
在我的情况下,我从xml(web.config)收集我的url并且应该使用xml& ,所以我改变了在xml中放置参数(url)的方式,而不是将参数(url)放在javascript中。
供您参考! :)