要在Vue客户端和Node服务器端之间启用跨域资源共享(CORS)以允许设置Cookie,您需要在两个地方进行适当的配置。下面是一个示例:
在Vue客户端中:
- 安装axios库(如果还没有安装):
npm install axios
- 在您的Vue项目的主入口文件(如
main.js
)中添加以下代码:
import axios from 'axios';
axios.defaults.withCredentials = true;
axios.defaults.baseURL = 'http://localhost:3000'; // 设置您的服务器端URL
// 其他Vue配置和代码...
new Vue({
// Vue实例初始化代码...
}).$mount('#app');
这样,axios将允许发送跨域请求并在请求中包含Cookie。
在Node服务器端中:
- 安装cors库(如果还没有安装):
npm install cors
- 在您的Node服务器代码中添加以下代码:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({
origin: 'http://localhost:8080', // 设置您的客户端URL
credentials: true // 允许携带Cookie
}));
// 其他服务器路由和代码...
app.listen(3000, () => {
console.log('Server running on port 3000');
});
这样,您就在Node服务器端启用了CORS,并允许来自Vue客户端的请求在响应中设置Cookie。
请确保将上述代码中的URL更改为您实际使用的URL。此外,注意在Vue客户端和Node服务器端的请求和响应中都使用Cookie。
希望这能帮助您解决CORS问题,使您能够在Vue客户端和Node服务器端之间正常进行Cookie设置
标签:Node,Vue,服务器端,axios,Cookie,CORS,允许,客户端 From: https://blog.51cto.com/M82A1/9112854