当部署MERN应用后,Cookie可能不再起作用的原因是因为在部署过程中,域名或端口号发生了变化,导致Cookie的跨域问题。下面是一个可能的解决方法:
确保前后端的域名和端口号一致。
在后端的Express应用中,使用cors中间件来处理跨域请求。安装cors模块:
npm install cors
然后在后端的入口文件中添加以下代码:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
credentials
为true
,以便允许携带Cookie。fetch('http://example.com/api', {
credentials: 'include',
});
Access-Control-Allow-Credentials
为true
,以允许接受来自前端的携带Cookie的请求。res.setHeader('Access-Control-Allow-Credentials', 'true');
请注意,以上解决方案是一种可能的方法,具体的解决方案可能因应用的具体情况而有所不同。