[解決済み】Fetch GETリクエストでクエリ文字列を設定する。
2022-04-01 05:17:31
質問
新しい Fetch API :
を作っています。
GET
のようにリクエストします。
var request = new Request({
url: 'http://myapi.com/orders',
method: 'GET'
});
fetch(request);
しかし、クエリ文字列をどのように
GET
をリクエストしてください。理想を言えば
GET
へのリクエストは
URL
のようなものです。
'http://myapi.com/orders?order_id=1'
で
jQuery
を渡せばできるのですが
{order_id: 1}
を
data
のパラメータは
$.ajax()
. 新しい
Fetch API
?
解決方法は?
2017年3月の更新情報です。
URL.searchParams のサポートは Chrome 51 で正式に導入されましたが、他のブラウザではまだ ポリフィル .
は オフィシャル は、クエリパラメータをURL上に追加することで、クエリパラメータを使用することができます。以下はその例です。 仕様書 これはその一例です。
var url = new URL("https://geo.example.org/api"),
params = {lat:35.696233, long:139.570431}
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]))
fetch(url).then(/* … */)
しかし、Chrome が
searchParams
プロパティを使用する必要があります。
サードパーティライブラリ
または
ロールユアオウンソリューション
.
2018年4月更新。
を使用することで
URLSearchParams コンストラクタ
2次元配列やオブジェクトを代入して、それを
url.search
すべてのキーをループして追加する代わりに
var url = new URL('https://sl.se')
var params = {lat:35.696233, long:139.570431} // or:
var params = [['lat', '35.696233'], ['long', '139.570431']]
url.search = new URLSearchParams(params).toString();
fetch(url)
参考までに
URLSearchParams
は、NodeJSでも利用可能です
const { URL, URLSearchParams } = require('url');
関連
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] JavaScriptでドロップダウンリストの選択値を取得する
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] REST APIからデータを取得しようとしたときに、要求されたリソースに'Access-Control-Allow-Origin'ヘッダーが存在しない。
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み】AngularでHTTPリクエストにURL引数(クエリ文字列)を渡すには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】エラー:リスン EACCES 0.0.0.0:80 OSx Node.js
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み] スペース文字をURLエンコードしています。+ または%20?
-
[解決済み] クエリ文字列の中で配列を渡すには?