1

ページ リダイレクトと同様に、AJAX 制御の Django Web アプリケーションのページ読み込み時に URL フラグメントを設定しようとしています。

意図した動作は次のとおりです。ユーザーが をロードするmyapp.comと、フラグメントを に変更しmyapp.com/#/default/pathます。これにより、コンテンツの変更がトリガーされます。

jQuery を使用した現在の実装は次のとおりです。

if (!window.location.hash) {
    window.location.href = (window.location.pathname === "/")
        ? $("html").data("default-hash")
        : hashify(window.location.pathname);
} else {
    $(window).trigger('hashchange');
}

この場合、デフォルトのフラグメントは data-* 属性として に含まれており<html>、文字列の前に追加されるhashify()関数です。/#サーバーから単純に 302 リダイレクトを返し、次のようにパス名をハッシュに変換できるようにしたい:

if (!window.location.hash) {
    window.location.href = hashify(window.location.pathname);
} else {
    $(window).trigger('hashchange');
}

現在の実装では、予期される動作ごとに URL が変更されます。しかし、2 番目の方法 (リダイレクトを使用) を試すと、URI はmyapp.com/default/path/#/default/path.

誰かが以前にこの問題に遭遇したことがありますか、または問題が何であるかについて何か考えがありますか?

ありがとう!

4

0 に答える 0