問題陳述:
從客戶端向 Express 發出 HTTP 請求時。使用axios的js伺服器,客戶端設定的cookie不會在請求中自動發送。因此,伺服器端程式碼無法存取這些 cookie 來進行身份驗證或其他目的。
為了解決此問題,Axios 庫提供了 withCredentials 屬性。將其設為 true 可啟用跨站點請求轉送 (CORS) 憑證,從而允許 Axios 在其請求中包含 cookie。
axios.get(`some api url`, { withCredentials: true });
此屬性可以應用於單一Axios 請求或設定為所有請求的預設值:
// Force credentials for all Axios requests axios.defaults.withCredentials = true; // Use credentials for a specific Axios request instance const instance = axios.create({ withCredentials: true, baseURL: BASE_URL }); instance.get('/todos');
透過將withCredentials 設為true,可以啟用CORS 憑證,確保cookie 在Axios 請求中自動傳送到設定的網域。這允許伺服器端程式碼存取和利用這些 cookie 來進行會話管理、身份驗證或任何其他必要目的。
以上是如何設定 Axios 在 Express.js 伺服器的請求中自動包含 Cookie?的詳細內容。更多資訊請關注PHP中文網其他相關文章!