传递的URL字符串不能解释为字符串

时间:2013-12-09 08:32:00

标签: javascript regex string

我阅读了一些文章并尝试了一些方法,但无法使其发挥作用。

htmlCode += '<button id="' + addButtonId + '" title="' + addButtonTitle + '" class="button" onclick="getProductUrl(' + url + '); return false;"><span><span>' + addWithButonTitle + '</span></span></button>';

和函数本身:

getProductUrl: function(url) {
        return setLocation('\'' + decodeURIComponent(url) + document.getElementById('qty_field').value + '\'');
    },

显然,url的字符串值不被视为字符串。我在此处收到错误的错误:getProductUrl(http: ^ //...rest of the url。当然问题不在括号内,而在于//被视为评论的开始。

所以我要做的就是将这个url字符串值CORRECTLY作为字符串传递。 我尝试先解码然后传递(因为decodeURIComponent(url)应该返回字符串。我还尝试String(url)url + ""。还以某种方式转义特殊字符:url.replace('/','\/')甚至是{{ 1}}很的东西,根本没用。

所以,所有这些方法都没有成功。我真的很感激这里的提示或解决方案。

1 个答案:

答案 0 :(得分:3)

试试这个

onclick="getProductUrl('" + url + "');"

更新的代码行:

htmlCode += '<button id="' + addButtonId + '" title="' + addButtonTitle + '" class="button" onclick="getProductUrl(\'' + url + '\'); return false;"><span><span>' + addWithButonTitle + '</span></span></button>';