0

以下に示すように、単純な Sammy.js アプリがあります。

Sammy(function () {
        this.get('#/project/:projectId', function () {
            // REST load content into div
        });

        this.get('#/', function () {
            // Load blank div
        });

        this.get('', function () {
            this.app.runRoute('get', '#/');
        });
    }).run();

このコードは非常にうまく動作し、安静な方法でコンテンツをロードするか、空白の div を表示します。ただし、私のアプリケーションには MVC 構造がありhttp://localhost/logout、アプリがユーザーをログアウトしてセッションを強制終了することを確認する必要があります。

ただし、ログアウト URL を指すアプリ内の html リンクは呼び出されません。URL バーにはログアウト URL が表示されますが、ログアウト アクションは実行されません。

次のように、sammy を使用してリンク URL をキャプチャできます。

this.get('logout', function () {
                // What should happen here?
            });

しかし、サミーに実際にこの URL を呼び出させる方法がわかりません。this.refresh() と this.get('/logout') を試しましたが、どちらも期待どおりに機能しません。

4

2 に答える 2

1

私はサミーが初めてで、同じエラーが発生したときにチュートリアルを行っていました。何らかの理由で、get('', function()...) は、他の get メソッドと一致しないすべての URL を取得し、代わりに「空の」URL とのみ一致します。私はそのように私の問題を解決しました。

私はサミーのホームページでそれを見ました: http://sammyjs.org/

Sammy(function () {
    this.get('#/project/:projectId', function () {
        // REST load content into div
    });

    this.get('#/', function () {
        // Load blank div
    });

    //remove this 
    //this.get('', function () {
    //    this.app.runRoute('get', '#/');
    //});
// put your initial url inside run
}).run("#/");
于 2013-08-20T21:58:44.770 に答える