パラメータオブジェクトからクエリ文字列を生成する
2023-10-15 03:16:02
質問
Angularjsでクエリパラメータを使用してURLを構築する方法。
私は、APIを参照してください $location.search()
問題は、$location(url)がurlにリダイレクトするものであることです。私の場合、クエリパラメータにurlとkey:valueのペアを渡してurlを構築したいのですが、以下のような感じです。
urlを指定します。
/a/b/c
params:
{field1: value1, field2: value2}
の結果です。
/a/b/c?field1=value1&field2=value2
私はこのurlをリンクに使いたいのです。私はまた、アンギュラーエンコードを見たことがあります
?
,
&
の文字が表示されます。これを避けることはできますか?
編集してください。
私の意図は、urlをアンカー要素のhrefとして使用することでした。私はリクエストを送信するために$httpを使用していますが、時々、クエリパラメータ(現在のオブジェクトに基づく)を持つリンクを提供する必要があります。
ありがとうございます。
どのように解決するのですか?
1.4+の時点では良い解決策があります。パラメータオブジェクトからクエリ文字列を構築することができます。
$httpParamSerializer
:
var qs = $httpParamSerializer(params);
<ブロッククオート
オブジェクトを文字列に変換するデフォルトの $http params シリアライザです。 に変換します。
{'foo': 'bar'} results in foo=bar
{'foo': Date.now()} results in foo=2015-04-01T09%3A50%3A49.262Z (toISOString() and encoded representation of a Date object)
{'foo': ['bar', 'baz']} results in foo=bar&foo=baz (repeated key for each array element)
{'foo': {'bar':'baz'}} results in foo=%7B%22bar%22%3A%22baz%22%7D" (stringified and encoded representation of an object)
Note that serializer will sort the request parameters alphabetically.
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] これは純関数ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javascriptでクエリパラメータを作成する方法は?
-
[解決済み] JSのDateからDay名
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] httpのパラメータ取得がうまくいかない