Javascript URLSearchParamsでネストパラメータ生成

2021年5月4日火曜日

javascript

t f B! P L

概要

クエリパラメータを作るJavascriptのURLSearchParamsでネストしたパラメータを作りたい

{a: {b: 1}}

みたいなやつをパラメータにしたい。
そのまま渡しても使えない。object+Objectになっちゃう

new URLSearchParams({
  a: {b: 1}
}).toString();
"a=%5Bobject+Object%5D"

作成方法

JSON.stringifyでネストしたオブジェクトを文字列にする。

new URLSearchParams({
  a: JSON.stringify({b: 1})
}).toString();
"a=%7B%22b%22%3A1%7D"

サーバサイドには文字列化したオブジェクトが渡ってくるので文字列をパースする。Rubyだと以下

JSON.parse(渡ってきた文字列)

本当はパースしないでそのまま使いたいけど、他に良いやり方がわからない・・・

自己紹介

Webエンジニアをやっています。日々思ったことや、読書レビュー、IT系の記事などを書き連ねています

Rails Twitter認証で困ったこと

困った1:認証動作に差異 qiitaと実装したアプリで認証の動きが違った。 ちなみに実装したアプリはこれ ツイバト qiitaでは 毎回認証確認の画面になる 実装アプリでは 一度ログインしたことがあったら一瞬認証画面になって即リダイレクトして戻ってくる 原因 認証のメソッドが違っ...

QooQ