axios請求無法攜帶cookie


  背景  

    最近在用vue重構公司公司AngularJS 1.X項目,老項目身份認證采用的cookie,前端ajax庫采用是angularJS的$http/$resource服務,新版采用的是axios,但是發現前端http響應頭中少了Set-Cookie屬性,同時在瀏覽器中查詢不到cookie信息,服務端也接收不到cookie信息。postman請求正常,使用axios請求不正常,如下圖所示:

  axios:

    

  postman:

    

  原因:

    1、為什么http響應頭中沒有set-cookie屬性值?

      這個是axios已知的問題,我們都知道,cookie是服務端寫進去的,只要這一步沒有錯,理應數據都會攜帶到客戶端,只是axios隱藏了這一部分信息。在github上搜上搜Set-Cookie有很多類似情況,如下:

    

 

    2、請求如何攜帶cookie

      axios默認跨域請求不使用憑證,只需要設置axios.defaults.withCredentials = true;即可。withCredentials屬性主要功能是指定跨域的請求是否應該使用證書(如cookie或授權頭header)

    參考鏈接如下:

      aixos: https://github.com/axios/axios/issues/953

      api:https://www.kancloud.cn/yunye/axios/234845

 


免責聲明!

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



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