问题陈述:
从客户端向 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中文网其他相关文章!