- axiosは、配列を渡す場合、key名に[]を付ける
- expressも、key名に[]があれば、配列とみなす
- key名に[]が無くても、同じkey名があれば、expressは配列にする
- ただし、[]が無いと、keyが1つだった時に値になり、keyが2つの場合に配列になったりと挙動が揺れる。
Last active
May 24, 2020 05:32
-
-
Save taktamur/bd2f81800e09ecdd774c6695e45ac9e7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// axios {id:1} | |
// →url ?id=1 | |
// →express {"id":"1"} | |
// axios {id:[2]} | |
// →url ?id[]=2 ←key名に[]がついてる | |
// →express {"id":["2"]} ←値は1個だけど、ちゃんと配列になってる | |
// axios {id:[3,4]} | |
// →url ?id[]=3&id[]=4 | |
// →express {"id":["3","4"]} | |
// url ?id=a | |
// →express {"id":"a"} // 値"a"は値として入ってる | |
// url ?id=a&id=b | |
// →express {"id":["a","b"]} // 値"a"と"b"は配列として入ってる | |
var express = require("express"); | |
var app = express(); | |
app.get("/", function (req, res) { | |
console.log(JSON.stringify(req.query) + " " + req.originalUrl); | |
res.send("Hello World!"); | |
}); | |
app.listen(3000, function () { | |
// 起動したらaxiosでアクセス | |
const axiosBase = require("axios"); | |
const axios = axiosBase.create({ | |
baseURL: "http://localhost:3000", // バックエンドB のURL:port を指定する | |
responseType: "json", | |
}); | |
axios.get("/", { params: { id: [] } }); // {} / | |
axios.get("/", { params: { id: 1 } }); // {"id":"1"} /?id=1 | |
axios.get("/", { params: { id: [2] } }); // {"id":["2"]} /?id[]=2 | |
axios.get("/", { params: { id: [3, 4] } }); // {"id":["3","4"]} /?id[]=3&id[]=4 | |
axios.get("/", { params: { id: 5, id: 6 } }); // {"id":"6"} /?id=6 | |
// ブラウザで?id=a とした場合: // {"id":"a"} /?id=a | |
// ブラウザで?id=a&id=b とした場合: // {"id":["a","b"]} /?id=a&id=b | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment