eggjs跨域访问—CORS插件

当作先后端分离时,经常遇到跨域访问问题前端

这里我用eggjs作后端,前端经过ajax获取数据ajax

eggjs开启跨域访问,须要用到egg-cors插件npm

egg-cors安装:json

npm i egg-cors --save

开启egg-cors插件:后端

// config/plugin.js

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

 

配置文件:api

// config/config.default.js

// 配置指定的前端地址
config.cors = {
        origin: 'http://127.0.0.1:7002',
        allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
        // 下面这条加上才能共享跨域session,同时前端ajax请求也要加上响应的参数
        credentials: true, 
    };

    config.security = {
        // 关闭csrf验证
        csrf: {
            enable: false,
        },
        // 白名单
        domainWhiteList: ['*']
    };

 

路由加上:跨域

router.post('/api/test/list', controller.api.test.list);

前端ajax示例:session

$.ajax({
  url: 'http://127.0.0.1:7001/api/test/list',
  type: "POST",
  json: true,
  xhrFields: {
    withCredentials: true
  },
  precessData: false,
  success: function(result) {
    if (result.success) {
      console.log(result.msg);
      console.log(result.result);

    } else {
      console.log(result);
    }
  },
    error: function(responseStr) {
      console.log(responseStr);
    }
});
相关文章
相关标签/搜索