roy*_*roy 6 parameters ajax url jquery
我正在使用jQuery和Ajax构建一个动态网站.我使用History Plugin解决了历史问题和后退按钮.我想在url中传递多个hash like参数,而无需在click事件上重新加载整个页面.我想要的东西:
something.php#type=abc&id=123 要么 something.php/?type=abc&id=123... 哪个可能是在网址中传递和检索此类有点参数的最佳方式?
<a href="#type=abc&id=123">Click</a>
Run Code Online (Sandbox Code Playgroud)
if(type==abc && id==123)
{
do this..
}
Run Code Online (Sandbox Code Playgroud)
通常我们这样做,<a href="something.php?type=abc&id=123">Click</a>但它会重新加载整个页面.
哈希值具有一组有限的字符,技术上允许它们在其中.如果您在此处查看URL规范,则哈希值称为fragmentid.这是它可以包含的语法:
fragmentid xalphas
xalphas xalpha [ xalphas ]
xalpha alpha | digit | safe | extra | escape
safe $ | - | _ | @ | . | & | + | -
extra ! | * | " | ' | ( | ) | ,
escape % hex hex
alpha a | b | c | d | e | f | g | h | i | j | k |
l | m | n | o | p | q | r | s | t | u | v |
w | x | y | z | A | B | C | D | E | F | G |
H | I | J | K | L | M | N | O | P | Q | R |
S | T | U | V | W | X | Y | Z
digit 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
你会发现,你可以有&,但不能=,除非你将其设置或检索它的时候调用encodeURIComponent方法和decodeURIComponent的哈希值.
至于使用什么技术,它真的取决于你.如果需要在那里表示多个参数,可以在哈希值中创建自己的小语法.我个人可能会&像查询字符串一样分隔值,但使用-而不是=.