【发布时间】:2011-08-29 20:54:54
【问题描述】:
我正在尝试使用this jquery plugin 和此示例查询字符串从查询字符串中解析参数:
http://test.com/?xnJTqqWEclJnnPEvWH&cid=3DF3-00-=63-D4-DA-2F-91-6B-39-39-75-E4-C1-B7-28-12&mid=3D93-36-14-46-4D-52-9E-48-17-=6A-50-13-56-FA-0A-06&PROMO_MONTH=3D201106
使用插件的代码:
console.log($.getQueryParam( "cid" ));
cid 在“=”符号的第一个实例处被划分 - 所以而不是:
3DF3-00-=63-D4-DA-2F-91-6B-39-39-75-E4-C1-B7-28-12
我明白了
3DF3-00-
这是正常行为吗?等号在这个查询字符串中是否有特别的作用?如果没有,我如何解析这个查询字符串以便得到整个参数?
【问题讨论】:
-
是的,等号是特殊的,因为它将参数名称与值分开。但是,更好的解析器可能会检测到两个“连续”
=(两者之间没有&)。不过,afaik,如果你想在一个值中使用它,它必须被编码。 -
我无法更改查询字符串中传递的值。我只能操纵从 URL 收到的内容。
-
您无法更改或编码查询字符串?是否可以保证它始终是最后一个参数? (我在想你可能必须对它进行字符串解析,而不是使用 jQuery 函数)。
标签: javascript jquery parsing parameters query-string