[解決済み】AngularJSのルーティングでハッシュ「#」がない場合
2022-04-07 16:11:18
質問
AngularJSを勉強しているのですが、ひとつだけ本当に困ったことがあります。
私は
$routeProvider
を使用して、アプリケーションのルーティングルールを宣言しています。
$routeProvider.when('/test', {
controller: TestCtrl,
templateUrl: 'views/test.html'
})
.otherwise({ redirectTo: '/test' });
しかし、ブラウザで自分のアプリに移動すると、次のようになります。
app/#/test
ではなく
app/test
.
そこで質問なのですが、なぜAngularJSはこのハッシュを追加するのでしょうか?
#
をURLへ追加してください。それを回避する方法はありますか?
どのように解決するのですか?
実は、HTML5以外のブラウザでは、#(ハッシュタグ)が必要なのです。
そうしないと、指定された href でサーバーに HTTP 呼び出しを行うだけになってしまいます。 この#は古いブラウザのショートサーキットで、リクエストを発行しないので、多くのjsフレームワークがその上に独自のクライアントサイドのリルートを構築することができます。
を使用することができます。
$locationProvider.html5Mode(true)
を使用して、HTML5ストラテジーがあればそれを使用するようにangularに指示します。
HTML5戦略に対応しているブラウザの一覧はこちらです。 http://caniuse.com/#feat=history
関連
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Facebook Graph API のクエリで with=location を使用すると "Uncaught (in promise) undefined" というエラーが発生する。
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】別のjsファイル内でJavaScriptの関数を呼び出す
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】SyntaxError: ChromeのJavascriptコンソールでUnexpected Identifierが発生する。
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】AngularJSのURLからフラグメント識別子を削除する(#記号)。