这个JavaScript编码是否正确编写?

这个JavaScript编码是否正确编写?,javascript,Javascript,我尝试了一些关于URL编码的技巧,但到目前为止我还没有成功。首先,我得到了这种格式 var url = "http://www.polyvore.com/cgi/add?title=" + encodeURIComponent(%%GLOBAL_ProductName%%) + "&url=" + encodeURIComponent("http://lilaboutique.co.uk/products/&q

我尝试了一些关于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;

感谢您的帮助

更好、更干净的方法:

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;
jQuery的
$.param(obj)

总的来说,如果你想自己动手,我也会采取类似的方法。生成一个接受对象并返回查询字符串的函数。然后在服务器模板中,您有:

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);

或者您想使用的任何转换函数。

实际上,右括号在末尾。这是我的错,他的代码格式不正确,最后4行应该进一步缩进以澄清。那段代码是艺术作品哈哈,但不得不说,我仍然从一开始就遇到了问题。我不知道为什么价格和说明没有通过。我希望我能够访问php脚本文件,这将是一件轻而易举的事,但bigcommerce没有提供这一点。如果您有其他的技巧来深入了解这些全局变量返回的内容,请让我知道。感谢您的帮助。只需对(i in-toEncode)警报(i+'='+toEncode[i])执行一些调试
并查看每个返回的内容