1. ホーム
  2. javascript

[解決済み] AngularJSの$locationを使ってURLのクエリ文字列から値を取得する

2023-01-24 18:40:24

質問

について $location.search については docs は言う。

パラメータなしで呼び出された場合、現在のURLの検索部分を(オブジェクトとして)返します。

私のURLでは、クエリ文字列は、パラメータ ?test_user_bLzgB があり、値がありません。また $location.search() はオブジェクトを返します。実際のテキストを取得するにはどうすればよいのでしょうか?

どのように解決するのですか?

受理された回答から変わったかどうかは分かりませんが、可能です。

$location.search() はキーと値のペアのオブジェクトを返します。これはクエリ文字列と同じペアです。値を持たないキーは、単に真としてオブジェクトに格納されます。この場合、オブジェクトは次のようになります。

{"test_user_bLzgB": true}

この値に直接アクセスするには $location.search().test_user_bLzgB

例(クエリ文字列を大きくしたもの) http://fiddle.jshell.net/TheSharpieOne/yHv2p/4/show/?test_user_bLzgB&somethingElse&also&something=Somethingelse

注:ハッシュのため(になるため http://fiddle.jshell.net/#/url に移動してしまい、新しいフィドルが作成されてしまうため)、このフィドルはjs履歴をサポートしていないブラウザでは動作しません(IE <10 では動作しません)。

編集します。

Naresh 氏と @DavidTchepak 氏のコメントで指摘されているように $locationProvider も適切に設定する必要があります。 https://code.angularjs.org/1.2.23/docs/guide/$location#-location-service-configuration