设置Cookie 的 Domain可以使子域跨域
假设你使用的是 Node.js 和 Express 作为后端服务器,你可以通过 res.cookie
方法来设置 Cookie,并指定 Domain
属性
const express = require('express');
const app = express();
app.get('/set-cookie', (req, res) => {
res.cookie('myCookie', 'cookieValue', {
domain: '.example.com', // 注意前面的点号,表示适用于所有子域
maxAge: 900000, // Cookie 的有效期(毫秒)
httpOnly: true, // 仅允许通过 HTTP/HTTPS 访问
secure: true // 仅允许通过 HTTPS 访问(在生产环境中使用)
});
res.send('Cookie has been set');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
前端通过请求设置 Cookie
<template>
<div>
<button @click="setCookie">Set Cookie</button>
</div>
</template>
<script>
import axios from 'axios';
export default {
methods: {
async setCookie() {
try {
await axios.get('http://localhost:3000/set-cookie');
alert('Cookie has been set');
} catch (error) {
console.error('Error setting cookie:', error);
}
}
}
};
</script>