簡體   English   中英

nodejs - Set-Cookie 出現在響應中但在瀏覽器中丟失

[英]nodejs - Set-Cookie present in response but missing in browser

我正在使用 express.js 和 passport.js 作為我的后端,axios 和 vue.js 作為我的前端。

我可以看到我的 set-cookie,但我的瀏覽器中不存在 cookie。 圖片鏈接如下。

響應標頭請求標頭

此 cookie 用於使用 passport.js 對我的用戶進行身份驗證。

以下是我的 express.js 的代碼。

 var app = express(); app.use(cors({ origin: "http://localhost:8080", credentials: true })); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use(session({ secret: 'p@ssw0rd' })); app.use(passport.initialize()); app.use(passport.session());

下面的方法將通過 vue.js 方法調用。

 const url = "http://localhost:3000/"; let axiosConfig = { withCredentials: true, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': 'http://localhost:3000/', 'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE' } } class user { static login(username, password) { return new Promise(async(resolve, reject) => { try { const res = await axios.post( `${url}login`, { username, password }, axiosConfig ); resolve(res.data); } catch (err) { reject(err); } }); }

后端在 localhost:3000 運行,前端在 localhost:8080 運行

檢查 cookies。 未顯示所選主機的數據

我找到了我的問題的答案,解決方案真的很愚蠢,沒有任何代碼相關。 由於我正在研究 expressjs,而一個朋友正在研究 vuejs,因此他添加了兩個相同的文件夾,其中包含 axios 方法。 我更改了未引用的部分。

我在我的問題中發布的代碼有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM