express 如何解决跨域设置cookie
本地使用http-server .
开启一个前端服务 地址为 http://127.0.0.1:8080/node ./index.js
开启一个后端服务 地址为 http://localhost:3000/
我想实现服务端对前端进行cookie的写入和获取操作,但是他们不生效,我甚至找了两个请求的库,网上的办法也没能试成功.
求大神指导
前端代码
jquery 代码
$.ajax({
url:'http://localhost:3000/',
xhrFields:{
withCredentials:true
},
})
axios 代码
axios.get('http://localhost:3000/',{
withCredentials:true,
})
.then(function (response) {
console.log(response);
})
服务端代码
var express = require("express");
var cors = require('cors')
var app = express();
var cookieParser = require('cookie-parser')
var corsOptions = {
origin: 'http://127.0.0.1:8080',
credentials: true,
maxAge: '1728000'
//这一项是为了跨域专门设置的
}
app.use(cors(corsOptions))
app.use(cookieParser())
app.get("/", function(req, res) {
console.log(req.cookies,req.cookies.remebreme);
res.cookie("rememberme", "2", {
expires: new Date(Date.now() + 900000),
});
res.send({ a: 1 });
});
跨域请求
直接请求
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用你的代码测试了一下,没有发现问题
请问你解决这个问题了吗??这个问题是跨域导致cookie设置不成功
我也遇到了这个问题