Query String.Whitespaces出错

时间:2011-09-26 13:59:33

标签: javascript html browser web

我正在创建指向页面的超链接

网址由用户输入决定,因此由查询字符串

决定
<a href='+abc+'&country='+country +'&state='+state+' ></a>;

问题是变量状态由两个或多个单词组成。 因此,当我尝试单击证明表单中输入的超链接时,仅获取状态变量的第一个单词。浏览器将另一个视为另一个变量。 例如,如果我输入纽约作为状态。 在状态变量中只保存new,而浏览器将york另存为另一个变量,其值为空&york=""

我该怎么办?

2 个答案:

答案 0 :(得分:3)

使用encodeURIComponent;

逃离非法字符
'<a href='+ encodeURIComponent(abc)
 +'&country=' + encodeURIComponent(country)
 +'&state=' + encodeURIComponent(state) + '></a>;

例如,将"aaa bbb"转换为"aaa%20bbb"

答案 1 :(得分:0)

好吧,您可以随时对网址进行编码: Encode URL in JavaScript?

或使用逗号分隔的字符串。