我正在使用jQuery和Ajax构建动态网站。我已经使用历史记录插件解决了历史记录和后退按钮的问题。我想在URL中传递多个像参数一样的哈希值,而不用在单击事件时重新加载整个页面。我想要类似的东西:
something.php#type=abc&id=123
或something.php/?type=abc&id=123
... 哪一种是在URL中传递和检索此类参数的最佳方法?
<a href="#type=abc&id=123">Click</a>
if(type==abc && id==123)
{
do this..
}
通常,我们使用
<a href="something.php?type=abc&id=123">Click</a>
来执行此操作,但是它将重新加载整个页面。 最佳答案
哈希值在技术上允许在其中使用有限的字符集。如果您在此处查看URL spec,则哈希值称为fragmentid。这是它可以包含的语法:
碎片xalphas
xalphas xalpha [xalphas]
xalpha alpha |数字|安全|额外|逃脱
保险柜$ | -| _ | @ | 。 | &| + | --
额外的 ! | * | “|'|(|)|,
转义%hex hex
alpha a | b | c | d | e | f |克| h |我j | k |
l |米| n | o | p | q | r | s | t |你v |
w | x | y | z | A | B | C | D | E | F | G |
H |我J | K | L | M | N | O | P |问| R |
S | T | U | V | W | X | Y | ž
数字0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
您会注意到,可以使用&
,但不能使用=
,除非在设置或检索哈希值时在该哈希值上调用encodeURIComponent和encodeURIComponent。
至于使用哪种技术,则完全取决于您。如果需要在哈希值中表示多个参数,则可以在哈希值中使用自己的小语法。我个人可能会用&
分隔值,就像在查询字符串中一样,但是使用-
而不是=
。
关于jquery - 在网址中传递多个像参数一样的哈希值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7049191/