express框架跨域问题

在app.js文件里设置

​
var allowCrossDomain = function(req, res, next) {
  res.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");
  res.setHeader('Access-Control-Allow-Methods', 'PUT,GET,POST,DELETE,OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'content-type,x-requested-with,Authorization, x-ui-request,lang');
  res.setHeader('Access-Control-Allow-Credentials', 'true');
  res.setHeader("Content-Type", "application/json");
  next();
};
app.use(allowCrossDomain);

​

在index路由里面设置是不起作用的,还有这个

res.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");

一定不能写 * ,要指定域名,否则发送的异步请求不会有cookie,session就不会生效,session就是undefined

res.setHeader('Access-Control-Allow-Credentials', 'true');

就是用来设置异步有没有cookie的,如果Access-Control-Allow-Origin写 * ,这个设置也没用

猜你喜欢

转载自blog.csdn.net/u012149637/article/details/89011550