Egg Cors

作者: JunChow520 | 来源:发表于2020-05-26 09:21 被阅读0次

    Egg.js跨域访问需使用egg-cors插件,典型的应用场景是前后端分离的项目中,前端与后台在不同的域下,此时若前端通过AJAX访问后端接口,此时就首先解决跨域问题。

    安装egg-cors插件

    $ npm i -S egg-cors
    

    开启egg-cors插件

    $ vim config/plugin.js
    
    module.exports = {
      cors:{enable:true, package:"egg-cors"}
    }
    

    配置跨域参数

    $ vim config/config.default.js
    
    //cors
    config.cors = {
        origin:"*",
        allowMethods:"GET, HEAD, PUT, POST, DELETE, PATCH",
        credentials:true
    };
    
    配置 描述
    orgin 允许请求的来源,为*表示允许所有IP的请求。
    allowMethods 允许请求的方式
    credentials -

    egg-cors在Egg框架内部与egg-security插件协同工作,通过在配置对象安全性上定义domainWhiteList白名单域属性,当从客户端发出请求时,Egg框架会返回包含Access-Control-Allow-Origin的响应头,其中会包括传入的域、负载、状态码。

    $ vim config/config.default.js
    
    config.security = {
        domainWhiteList:["*"]
    };
    

    egg-cors插件配置origin选项后,egg-cors插件会在响应头中添加Access-Control-Allow-Origin字段以设置访问控制所允许的来源,同时会排除白名单security.domainWhiteList选项中设置的域名。

    当前端发送AJAX请求时,需在请求头中添加

    header:{'Access-Control-Allow-Origin':'*'}
    

    相关文章

      网友评论

          本文标题:Egg Cors

          本文链接:https://www.haomeiwen.com/subject/axylahtx.html