uni-app 獲取 cookie 問題


在 PC 端的時候,對於后端返回的 cookie 我們是不用進行處理的。

瀏覽器會自動讀取 response header 中的 set-cookie 信息保存,並在后續的 request 中帶上。

但是在做小程序時,由於不能自動解析、帶上 cookie 所以需要自己手動處理 cookie。

在使用 uni-app 時,uni.request  的 success 返回的參數有下面兩個可以讀取 cookie。

一、header

header 中能夠讀取到 ‘Set-Cookie’,的信息。可以直接讀取這個值。

response.header['Set-Cookie']

這有個問題,如果服務端一次返回多個 cookie 的話這種方式是不能獲取多個的。

二、cookies

cookies 正好可以解決上面的問題。

cookies 是一個數組,就是服務器返回的 cookie 的集合。

所以使用 cookies 更方便。

if (res.cookies && res.cookies.length>0) {
    res.cookies.map(cookie=>{
            // 對 cookie 遍歷操作
    })
}    

三、小程序 cookie 差異

這里主要說微信小程序、釘釘小程序。

1、微信小程序

微信小程序還是比較統一的,在開發者工具、Android、IOS 上面都需要手動獲取,在發送請求的時候在 request 的 header 中帶上

2、釘釘小程序

釘釘小程序各個端都有差異:

開發者工具:可以自己讀取 response 中的 cookie,並在 request 的 header 中帶上

Android 端:可以自己讀取 response 中的 cookie,並在 request 的 header 中帶上

IOS 端:無法讀取,並且 response 結構改變(獲取不到里面的值),必須在返回的 data 中帶回需要的 token(或者別的需要信息)。


免責聲明!

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



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