我已经尝试了一些关于URL编码的技巧但到目前为止我没有成功。首先,我得到了这种格式,
var url = "http://www.polyvore.com/cgi/add?title="
+ encodeURIComponent(%%GLOBAL_ProductName%%)
+ "&url=" + encodeURIComponent("http://lilaboutique.co.uk/products/"
+ encodeURIComponent(%%GLOBAL_ProductName%%)
+ "&imgurl=" + encodeURIComponent(%%GLOBAL_ThumbImageURL%%)
+ "&desc=" + encodeURIComponent(%%GLOBAL_ProductDesc%%)
+ "&price=" + encodeURIComponent(%%GLOBAL_ProductPrice%%));
由于什么原因从未被传递给href dunno。然后我又玩了一些,
var url = "http://www.polyvore.com/cgi/add?title=encodeURIComponent(%%GLOBAL_ProductName%%)&url=http://lilaboutique.co.uk/products/encodeURIComponent(%%GLOBAL_ProductName%%)&imgurl=encodeURIComponent(%%GLOBAL_ThumbImageURL%%)&desc=encodeURIComponent(%%GLOBAL_ProductDesc%%)&price=encodeURIComponent(%%GLOBAL_ProductPrice%%)";
这次传递了url,但是在显示编码函数本身的相应字段和其他字段之间混合了值。
非常感谢任何澄清我的错误的帮助。我想编码只是价格和描述,似乎是给出问题的领域。
常规链接确实呈现没有问题
var url = "www.google.com";
var myAnchor = document.getElementById('myAnchor');
myAnchor.href = url;
感谢您的帮助
答案 0 :(得分:0)
更好,更清洁的方式:
var toEncode = {
title: '%%GLOBAL_ProductName%%',
url: 'http://lilaboutique.co.uk/products/%%GLOBAL_ProductName%%',
imgurl: '%%GLOBAL_ThumbImageURL%%',
desc: '%%GLOBAL_ProductDesc%%',
price: '%%GLOBAL_ProductPrice%%'
};
var index, queryString = '';
for (index in toEncode)
{
queryString += index + '=' + encodeURIComponent(toEncode[index]) + '&';
}
var url = "http://www.polyvore.com/cgi/add?" + queryString;
答案 1 :(得分:0)
jQuery的$.param(obj)
是very nice。
总的来说,如果你想自己动手,我会采取类似的方法。创建一个接受Object的函数,并返回一个查询字符串。然后在您的服务器模板中,您有:
var urlData = {
url: "http://lilaboutique.co.uk/products/",
imgurl: "%%GLOBAL_ThumbImageURL%%",
desc: "%%GLOBAL_ProductDesc%%"
// etc...
}
var url = "http://www.polyvore.com/cgi/add?" + $.param(urlData);
或者您想要使用的任何转换功能。