jquery – 在url中传递多个hash参数

我正在使用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>
if(type==abc && id==123)
{
    do this..
}

通常我们这样做,< a href =“something.PHP?type = abc& id = 123”>点击< / a>但它重新加载整个页面.

解决方法

哈希值具有一组有限的字符,技术上允许它们在其中.如果你在这里查看 URL spec,哈希值称为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,否则您可以使用&,但不能=.

至于使用什么技术,它真的取决于你.如果需要在那里表示多个参数,可以在哈希值中创建自己的小语法.我个人可能会将这些价值与&就像在查询字符串中一样,但是使用 – 而不是=.

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...