在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  Linux  HTML/ vue.js寫的前端,接收后端thinkPHP5的驗證碼,卻驗證不了

vue.js寫的前端,接收后端thinkPHP5的驗證碼,卻驗證不了

clipboard.png
前端驗證碼的位置,我把地址放到formInline.captcha里。

clipboard.png

clipboard.png
這樣加個隨機(jī)數(shù),是為了可以點擊刷新驗證碼。

clipboard.png
后端發(fā)送驗證碼圖片的接口

clipboard.png
然后用vue-resource發(fā)送填寫的驗證碼。

clipboard.png
這是tp5接收驗證碼驗證的接口,永遠(yuǎn)返回false。但是我用Postman測試這個接口時,是可以正常使用的。
所以猜想是前端調(diào)用的問題,找了很久都沒有找到解決的方法...

回答
編輯回答
奧特蛋

因為沒有cookie 所以就沒有sessionId,那么自然就找不到驗證碼,找不到當(dāng)然就驗證不過關(guān)

2017年2月19日 07:03
編輯回答
蟲児飛

沒有傳cookie吧,調(diào)試很簡單,前端瀏覽器里header和post參數(shù)和postman里的比對下,看看哪里不一樣就行了

2017年1月29日 23:45
編輯回答
朕略傻

講講原理吧,不同的用戶進(jìn)網(wǎng)站會獲取不同的圖片驗證碼,服務(wù)器生成模糊圖片加上答案,圖片傳到前端顯示,答案保存在服務(wù)器,用戶通過圖片得到答案給服務(wù)器驗證,那么問題來了,多人有驗證需求,服務(wù)器是如何區(qū)分哪個人的答案對應(yīng)哪張圖片,所以一般的做法是在前端請求圖片的時候服務(wù)器生成驗證碼在生成驗證碼的過程中設(shè)置session并把答案保存在sission中,服務(wù)器有設(shè)置過session后會在響應(yīng)頭都攜帶cookie信息,瀏覽器拿到這個cookie會保存起來,其中cookie里面保存的就是sessionid,這是一次前端獲取驗證碼圖片的過程,現(xiàn)在用戶輸入了驗證碼提交,要保證提交的鏈接和請求的驗證碼的鏈接同源,這樣cookie就是被自動給攜帶在請求頭中,提交請求到了服務(wù)器接收后服務(wù)器會讀取cookie得到sessionid,通過sessionid得到具體的session信息取到保存的驗證碼答案再和用戶提交的對比就可以了,這是常規(guī)的,有些應(yīng)用不用cookie也是可以實現(xiàn)的,但必須要手動維護(hù)一個用戶唯一標(biāo)識,原理其實和cookie一樣,只不過一個是瀏覽器自動完成一個是js來完成,js來實現(xiàn)可以解決一些瀏覽器同源策略問題,所以這個問題還是得看具體項目,知道原理了,找問題應(yīng)該是不難找了吧

2018年4月6日 19:30
編輯回答
別傷我

請問下解決了嗎~~~

2018年2月19日 15:26