使用node寫接口時,用express-session時獲取不到req.session值的問題


最近使用node寫了接口,想實現用戶密碼的錄功能,其中使用了express-session來保存數據,奇怪的是,發送post請求時獲取不到req.session的值,

router.get('./api/get_captcha,(req,res)=>{ //這是一個獲取圖形驗證碼的接口 cosnt captcha = svgCaptcha.create({ color:true, noise:1, size:4, ignoreChars:'Oo0i1' }); //保存驗證碼到session req.session.captcha = captcha.text.toLocalLowerCase(); //返回給客戶端 res.type('svg'); res.status(200).sen(captcha.data); });

發送post請求

打印出來的req.session.captcha是undefined

 

出現這個BUG的原因是客戶端在發送post請求的時候發生了跨域

解決的辦法之一是:

在客戶端使用吸片技術,使用/api等路徑來代替網路請求的地址

在vue項目中在config/index文件夾下配置proxyTable(使用客戶端反向代理進行跨域)

 

 這樣問題就完美解決了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM