亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ajax登錄跳轉如何實現的

ajax登錄跳轉如何實現的

守候你守候我 2019-04-21 20:42:59
我想在頁面用ajax向服務器post數據,如果用戶名密碼正確,就登錄成功,進行跳轉。如果不正確,就返回一個json回頁面,然后登陸界面給出提示(就像segmentfault.com這樣的)我的做法是,服務器驗證正確了,也返回json給頁面,由js進行跳轉,但是不成功,頁面沒有登錄!
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

首先
我觀察到的是SF這樣的并不算是ajax登錄吧,你可以用chrome看看,SF登錄的時候并沒有使用Ajax
只不過,SF在每個頁面都加了一個modal
要實現SF這種很簡單,
提交表單(post)-->處理(/api/user/login)-->跳轉(redirect->back())
思路大概就是這樣。
其次
我的做法是,服務器驗證正確了,也返回json給頁面,由js進行跳轉,但是不成功,頁面沒有登錄
你已經解決問題了。
                            
查看完整回答
反對 回復 2019-04-21
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

用戶名和密碼的驗證都是后端驗證的,這毋庸置疑。
而且,用戶登錄狀態也是要后端設置的,查詢數據庫后,用戶名和密碼正確,則在session中存儲一個uuid,每個頁面需要根據登錄狀態判斷展示相應的內容時,則判斷是否有uuid這個session,且uuid不為空。比如頭部的登錄按鈕,在未登錄狀態是顯示登錄按鈕,在登錄后顯示用戶名和頭像,這些都是判斷是否有uuid這個值(具體實現里,相對來說更復雜一些)。
我們再來理下這個步驟:
1.向后端ajax發送用戶名和密碼
2.后端接收到用戶名和密碼后,查詢數據庫
2.1若查詢失敗,則返回一個json數據,如:{"status":"-1",msg:"用戶名或密碼不正確"}
2.2若查詢成功,則在session中存儲一個值,比如uuid,然后向前端返回一個json,比如:{"status":"0",msg:"success"}
3.前端js接收到返回的數據后,判斷status的值,若status==0,則使用window.location.href進行跳轉;其他的狀態碼都是登錄失敗,清空密碼框,讓用戶重新輸入。
4.比如登錄成功跳轉到首頁,首頁里的php或java,需要判斷session里是否有uuid:
html
                            
查看完整回答
反對 回復 2019-04-21
  • 2 回答
  • 0 關注
  • 313 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號