iT邦幫忙

2021 iThome 鐵人賽

DAY 11
1
Modern Web

用vue.js寫出一個實用的科內分享網站系列 第 11

Day11 vue.js實現簡單的登入功能

  • 分享至 

  • xImage
  •  

延續昨日
今天來把登入的功能搞定吧!
記得我們day7學到的東西嗎?
:class="project ${project.status} px-10"
沒錯我們也是要用這樣的形式去處理我們接到的值
重新看一下login.vue

一個綁的v-mode是useracoount
一個綁的是userpassword
https://ithelp.ithome.com.tw/upload/images/20210923/20141007W0cEDGu7oF.png
我們day8測試能夠接到值了 再來就是要處理這些值
所以我們將Login function改成這樣
async login(){
let result = await axios.get("http://localhost:3000/users?id="+${this.useraccount}+"&password="+${this.userpassword})
console.log(result)

而這個function 就是去找到users 資料表裡面欄位id的值是{{useraccount}} 且users資料表裡面password的值是{{userpassword}}符合這2件事的資料才會get到

EX:如果我function這樣寫let result = await axios.get("http://localhost:3000/users?id=sa&password=12345") 就是找到users資料表中id=sa且password=12345的資料

再來就是去網頁測試看看啦~~

https://ithelp.ithome.com.tw/upload/images/20210923/201410077if3wplMlC.png

https://ithelp.ithome.com.tw/upload/images/20210923/20141007joXQDW7XEa.png

可以明顯的看到輸入正確帳密的data是有資料的輸入錯誤帳密的data是沒有資料的
再來去程式碼設個條件讓登入的人知道自己是否有登入成功吧!
https://ithelp.ithome.com.tw/upload/images/20210923/20141007lBKrJ6aCi5.png

再來測試一下https://ithelp.ithome.com.tw/upload/images/20210923/20141007fxpz5DMDux.pnghttps://ithelp.ithome.com.tw/upload/images/20210923/20141007VzuchozD6L.png

登入成功之後我希望網頁會跳轉到首頁 並且會有登入者的資料 並記住是誰登入的 並且可以在navbar上面顯示使用者的名字
要完成以上的事情首先要使用 local storage session cookie 其中一種來完成記住使用者這件事 那網站大多使用session 所以就用session就好!
https://ithelp.ithome.com.tw/upload/images/20210923/20141007H7set8gtBs.png

SeesionStorage.setitem 設定user-info是result.data的第0筆資料 也就是我們剛剛測試看到的 至於什麼是json.stringify ?
我們的資料是存於jsonserve的資料庫的並且使用json格式所以要先將json格式轉換才可以使用
This.$router.push就是跳轉到home頁面
那接下來就來看看結果吧!
https://ithelp.ithome.com.tw/upload/images/20210923/20141007wZ7UQj3TNL.png

看起來成功接到session了
p.s.看seesion的方式右鍵檢查點選上方的application其實我一開始也不知道要怎麼看session ==

接到session一切都好說了那明天我們就從運用這個seesion以及註冊下手吧!
我們明天見!


上一篇
Day10你敢不敢給我登入
下一篇
Day12不可以壞壞!vue.js判斷是否session
系列文
用vue.js寫出一個實用的科內分享網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言