実現したいこと
JavaScript(Next.js)で自作アプリを作っています。
サーバーサイド言語とフロントを別々にして作っていて、フロント側でfetchに渡すurl文字列の生成方法によって、バックエンド側(Rustのaxum)でリクエストパラメーター取得時に値が"undefined"になってわたってきます。
具体的には、後述するソースコードのように変数埋め込みで生成したurl文字列だと、バックエンド側でパラメーターが"undefined"に変換されてエラーになります。
解消方法をご存じの方いたらよろしくお願いしまします。
発生している問題・分からないこと
先述したとおりURL文字列の中に変数埋め込みで生成したurl文字列だと、バックエンド側でパラメーターの値が"undefined"に変換されてエラーになります。
該当のソースコード
//フロント側のソース export async function fetch(num) { console.log(num)// -> 0 let param1= num; let param2= num+3; //このURLだとバックエンド側でparamAの値が"undefined"に変換されている const url1 =`http://localhost:3000/top?paramA=${param1}¶mB=${param2}`; //このURLだとバックエンド側でparamAの値が0になっている const url2 =`http://localhost:3000/top?paramA=${0}¶mB=${3}`; const res = await fetch(url1); const result = await res.json(); return result }
//バックエンド側のリクエストパラメーター取得してるソース pub async fn select_work_experience(params: &HashMap<String, String>, db: &DbConn) -> Result<Vec<entities::work_experience::Model>, sea_orm::DbErr> { let paramA: i32 = params["paramA"].parse::<i32>().unwrap(); let paramB: i32 = params["paramB"].parse::<i32>().unwrap(); 、、、以下略
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
補足
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。