Egg 中通过 Egg-cors 配置服务器端允许跨域以及 Cookie 允许跨域
Posted aiguangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Egg 中通过 Egg-cors 配置服务器端允许跨域以及 Cookie 允许跨域相关的知识,希望对你有一定的参考价值。
在开发中,有时会遇到这种问题:通过浏览器去访问一个接口可以正常获取到信息,但是通过点击事件去请求这个接口却无法正常获取到想要的信息。此时,你可能就是遇到跨域问题了, 在Egg中的解决方案如下:
1. 安装插件
npm i egg-cors --save
2. 配置插件
// config/plugin.js
exports.cors =
enable: true,
package: 'egg-cors',
;
3. 配置白名单
// config/config.default.js
// 配置安全验证
exports.security =
csrf:
ignore: ctx =>
// 对指定接口地址忽略验证
if (ctx.request.url == '/admin/goods/goodsUploadImage')
return true;
else
return false;
,
// 将域名加入白名单
domainWhiteList: ['http://localhost:8080']
;
4. 配置允许跨域
// config/config.default.js
// 配置允许跨域
exports.cors =
// 任何地址都可以访问
origin:"*",
// 指定地址才可以访问
// origin: 'http://localhost:8080',
allowMethods: 'GET,PUT,POST,DELETE',
// cookie跨域配置
credentials: true
;
5. 客户端请求配置
// 以vue-source为例
getUser()
let url="http://127.0.0.1:7001/api/user";
this.$http.get(url,
// 配置此项
credentials:true
).then((result)=>
console.log(result);
,(err)=>
console.log(err);
);
以上是关于Egg 中通过 Egg-cors 配置服务器端允许跨域以及 Cookie 允许跨域的主要内容,如果未能解决你的问题,请参考以下文章
Koa 中通过 Koa2-cors 配置服务器端允许跨域以及 Cookie 允许跨域