前言
原先跟公司後端搭配都是使用 JSON
格式在傳遞資料,直到有一支 API
跟 Google OAuth
牽扯上。總而言之,就是要使用 form-urlencoded
來傳資料,也就會產生 axios
格式轉換問題哩。
JSON 與 x-www-form-urlencoded
form-urlencoded
在表單傳輸是很常見的操作方式,通過 &
、 =
傳遞資訊。JSON
是以陣列物件的形式在傳遞資訊
1 | // x-www-form-urlencoded |
使用套件
套件名稱 : qs (A querystring parser with nesting support)
qs github
qs npm
輸入安裝指令
1 | npm install qs -S |
引入套件
官方有提供 require()
引入方式,可參考官網作法。
本次是以 Vue Cli
來引入套件,在 app.js
加入以下程式碼:
1 | import Qs from 'qs'; |
使用方式
如果 json
格式只有一層的話就直接轉換即可,若是有多層的情況,則需要先使用 JSON.stringify()
轉換後再使用 qs
轉換。
1 | const obj_1 = { |
轉換好之後,就可以使用 axios
送出這份 x-www-form-urlencoded
的資料囉。
結尾
我想應該會越來越多 API 都使用 json
格式傳送資料,form-urlencoded
格式也許會漸漸式微吧。