今天踩了一個坑, form-urlencoded發送來數組, 如果數組中有多個字符串, express這邊解析到的是正常的數組; 但是如果數組中只有一個字符串, express這邊解析得到的就單純是字符串了.
我發現form-urlencoded會將 key: ['123']
轉化成 key=123
, 這樣express解析就變成了 key: '123'
.
而對于key:['123', '321']
, 會轉化為 key=123&key=321
, 這樣express解析為 key: ['123', '321']
這種不一致性導致了bug.