我想在客户端形成一个链接。
我认为需要进行urlencoded,但我对此非常困惑。有人可以帮我这个。这是对的吗?
var link = document.createElement("a");
//addParams function just replaces the 0th and 1th occurrence with values
a.link = url.addParams(valueO, value1); // url is /home/testpage.aspx?{0}={1}
答案 0 :(得分:0)
我认为你应该link.href = escape("<your url>");
加上你需要添加一些innerHTML - link.innerHTML = 'Click Here';
...然后最后在某个时候将它添加到页面中。
答案 1 :(得分:0)
不应该是link.href = url.addParams(valueO, value1);
吗?
value0
和value1
都应通过escape()
或encodeURIComponent()
(I believe the latter is recommended over escape()
)发送(单独)。您可能希望在addParams()
之前执行此操作,然后替换您的网址字符串中的{0}
和{1}
。
您也可以执行类似addParams(encodeURIComponent(value0), encodeURIComponent(value1))
的操作,但在我看来,如果您忘记在某个地方调用某些值,那就会有问题。将编码移动到函数本身会更好。
以下是what escape(), encodeURI(), encodeURIComponent()
do and how they're different and when to use each的解释。
答案 2 :(得分:0)
var link = document.createElement('a');
var href = document.createAttribute('href');
link.setAttribute(href,'http://www.example.com?'+paramKey+'='+paramValue);
link.innerText ="Go here";