如何改变sammy路线

时间:2012-11-29 15:47:21

标签: c# routes sammy.js

我在spa模板中使用sammy脚本(c#,mvc 4)。 默认链接如下:/#/ home,/#/ contacts,/#/ faq等。 如何在/ home,/ contacts,/ faq上更改它们?

1 个答案:

答案 0 :(得分:0)

哈希描绘了URL的本地部分,可以使用location.hash方法对其进行修改。如果您修改整个网址,即location.href,则浏览器将加载修改后的网址。

看起来您要做的就是将Sammy使用的本地网址更改为#home#contacts,这样您就不会在开头使用空哈希。

下面,Sammy正在捕获对URL的更改,例如用户单击带有href="#Home"的锚元素,然后发送AJAX请求以获取模板:

Sammy(function () {
/* Navigation requests
*/
    this.get("#:view", function () {
        switch (this.params.view) {                
            case "Home":
                $.ajax("Home/Index", {
                    type: "GET",
                    success: function (result) {
                        //Append result to page
                    },
                    cache: false
                });
                break;
            case "Search":
                $.ajax("Search/Index", {
                    type: "GET",
                    success: function (result) {
                        //Append result to page
                    },
                    cache: false
                });
                break;                
        };
    });
}).run();