eggjs 跨域访问

eggjs 跨域访问

背景

因为前端项目是Vue构建,为了方便调试,故而设置可跨域访问。

步骤

1.添加插件 egg-cors。

npm i egg-cors -S

2.启用插件 egg-cors:

在 plugin.js 中:

exports.cors = {
  enable: true,
  package: 'egg-cors',
};

3.在config.default.js中配置:

  config.security = {
    csrf: {
      enable: false,
    },
      // 配置白名单
    domainWhiteList: [ 'http://localhost:8080' ],
  };
  config.cors = {
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
  };

以上即可。

但是有一个问题,这样设置后,session和cookie确实不见了。如果想要获取session和cookie可以在config.default.js添加配置:

config.cors = {
    credentials: true,
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
  };

然后在发送跨域请求的时候附带参数:credentials = true,

比如我用的 flyio,做的网络请求可以这样:

// 设置拦截器
fly.interceptors.request.use((request)=>{
    // 以下两种均可
    // request.withCredentials = true;
    request.body.credentials = true;
    return request;
});

其他框架也是如此,只要添加添加该请求参数即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值