# 🏅Day 13 - Axios 基礎練習 (3) - 新增資料功能 ## 新增資料 在 Day12 有介紹到如何註冊登入,這邊會往下繼續做新增功能。 **提醒一下,必須要先[註冊](https://codepen.io/fhljksmg-the-styleful/pen/jEqgPdM)一個帳號,接著登入到後台才能使用新增資料!** --- 通常在新增資料的時候,我們會使用 `POST` 的方式,並且後面帶上 `data` 資料、以及 `token` 密鑰 而這一組 `token` 密鑰是我們在登入的時候取得的,如果沒有這一組 `token`, 我們會沒有權限新增資料唷! ```js const url = "example/api"; axios.post(url, data, { headers: { Authorization: token.value, }, }) .then(response => { console.log('資料新增成功:', response.data); }) .catch(error => { console.error('新增資料時發生錯誤:', error); }); ``` 題目 --- 請複製 (右下角 fork)這個[範例](https://codepen.io/yen-kg/pen/gOVzqBz),並且完成以下條件: * 完成新增資料功能,並且將資料存在 `todos` 的陣列中。 * 完成取得全部的資料,並在新增資料後,能夠更新畫面。 備註:[詳細可以參考 API 文件](https://todolist-api.hexschool.io/doc/#/%E4%BB%A3%E8%BE%A6%E4%BA%8B%E9%A0%85/post_todos_) <!-- 解答: const addTodo = async () => { if (!newTodo) return; const todo = { content: newTodo }; try { await axios.post(`${api}/todos`, todo, { headers: { Authorization: token } }); setNewTodo(""); getTodos(token); } catch (error) { console.error("新增資料失敗", error); } }; const getTodos = async (authToken) => { try { const response = await axios.get(`${api}/todos`, { headers: { Authorization: authToken } }); setTodos( response.data.data.map((todo) => ({ ...todo, isEditing: false })) ); } catch (error) { console.error("取得資料失敗", error); } }; --> | 名字 | 連結 | | ----------- | ---------------------------------------------------------------------------- | | Nooooora | [Codepen](https://codepen.io/Nora-Ch/pen/myEJZgz?editors=1111) | | Owen He | [Codepen](https://codepen.io/owen1120/pen/WbxvVeN?editors=0010) | | Eric | [Codepen](https://codepen.io/wc-su/pen/gbMpNNq) | | Chia | [Codepen](https://codepen.io/Chia-the-encoder/pen/RNRPXbq) | | Marco | [Codepen](https://codepen.io/MarcoChiu/pen/PwzqMKY) | | Eileen | [Codepen](https://codepen.io/Eileen-io/pen/dPXoBrm) | | RUDY | [Codepen](https://codepen.io/Rudy-crw/pen/VYjLobq?editors=0011) | | andy | [Codepen](https://codepen.io/ewnblckz-the-styleful/pen/PwzqMJY?editors=0011) | | 舜仁 | [Codepen](https://codepen.io/shunjen/pen/OPXVKmL) | | Miikaa | [Codepen](https://codepen.io/Miikaa/pen/zxBGgRW) | | 平平 | [Codepen](https://codepen.io/ypinpin/pen/ogLjvmx) | | Tetsu | [Codepen](https://codepen.io/ttgchang/pen/RNRWbXg) | | 登登登 | [Codepen](https://codepen.io/Duncanin/pen/pvbjJya?editors=0010) | | Melanie | [Codepen](https://codepen.io/pnrcspte-the-animator/pen/KwMdPKy) | | cindy | [Codepen](https://codepen.io/a50134/pen/MYeawdx?editors=0010) | | Jin | [Codepen](https://codepen.io/Jin-L/pen/KwMdKvj) | | 7lun | [Codepen](https://codepen.io/mfyvqhsn-the-bold/pen/RNRWWaL?editors=1010) | | kashiwatei | [Codepen](https://codepen.io/kashiwatei/pen/MYeaaNy?editors=1010) | | 小懿 | [Codepen](https://codepen.io/YT-the-vuer/pen/KwMddEw?editors=0011) | | Jenna | [Codepen](https://codepen.io/abiscc14/pen/wBWKWqY) | | 老屠 | [Codepen](https://codepen.io/fsgfxvlb-the-selector/pen/QwEjKXv) | | Rogan | [Codepen](https://codepen.io/RoganHsu/pen/VYjvpgN) | | 地瓜 | [Codepen](https://codepen.io/ChippyYU/pen/wBWKdao?editors=0010) | | cks40660 | [Codepen](https://codepen.io/CKS40660/pen/yyJYMVaz) | | An | [Codepen](https://codepen.io/bzrpsbjq-the-encoder/pen/YPWyQKN?editors=1011) | | Wafa | [Codepen](https://codepen.io/dqricwgo-the-reactor/pen/KwMdqQj?editors=1010) | | wind | [Codepen](https://codepen.io/wind7y/pen/emzpRXZ) | | Percy | [Codepen](https://codepen.io/Percy-Ku/pen/zxBvdgL?editors=1011) | | 7Red | [Codepen](https://codepen.io/cch2655/pen/emzpWNr) | | nonwa_jeff | [Codepen](https://codepen.io/nonwaaa/pen/azZvEZL) | | JiaMori | [Codepen](https://codepen.io/jiamori/pen/VYjvzER) | | ZoeKang | [Codepen](https://codepen.io/byehywmx-the-animator/pen/ZYObJbp) | | KOMATSU PEI | [Codepen](https://codepen.io/Komatsu2021/pen/JoKdQwy?editors=0011) | | 小趴 | [Codepen](https://codepen.io/papa2415/pen/wBWKEew) | | RyanC | [Codepen](https://codepen.io/RyanYD/pen/xbOwybQ) | | 社子畢卡索 | [Codepen](https://codepen.io/pen?template=myEJjbq) | | 星雪糖 | [Codepen](https://codepen.io/vfpofbgm-the-scripter/pen/pvbjMPy?editors=1010) | | Zem | [Codepen](https://codepen.io/dgldwqlg-the-vuer/pen/OPXMmRM) | | kuolun | [Codepen](https://codepen.io/kuolun/pen/emzJjbY?editors=0011) | | Leonard | [Codepen](https://codepen.io/hyyfjqra-the-sans/pen/NPrxEry?editors=0011) | | 叮咚 | [Codepen](https://codepen.io/pinchieh-lin/pen/XJKbLyN) | | Vergil | [CodePen](https://codepen.io/aglgvsie/pen/azZvdXa) | | 蛋白 | [CodePen](https://codepen.io/sjlu-0/pen/NPrNBqv) | | tanuki | [CodePen](https://codepen.io/tanuki320/pen/emzZMRx?editors=0010) | | 伊迪 | [CodePen](https://codepen.io/sorryFish/pen/QwEdqGz) | |TWLeoC|[CodePan](https://codepen.io/TWLeoC/pen/YPWVOab?editors=1011)| |Michelle|[CodePan](https://codepen.io/bastar_dize/pen/XJKgQQZ?editors=0011)| |Wen|[CodePen](https://codepen.io/hsiao-kevin/pen/RNRLMbW?editors=1010)|