在开发中我们经常会遇到跨域的问题,常见的解决办法一是前端使用JSONP,二是后端设置允许跨域的响应头,而在用Koa进行开发时,解决跨域问题常用以下两个模块。
1. 使用Koa-jsonp
1. 安装Koa-jsonp;
npm install koa-jsonp --save
2. 引入Koa-jsonp;
var jsonp = require('koa-jsonp');
3. 配置中间件;
app.use(jsonp());
4. 使用中间件,如下所示,返回一个JSON格式的数据给前台;
ctx.body={"message":'更新成功',"success":true}
以上方法只是设置了让后端支持返回json格式数据,但要跨域请求需通过前端去实现,而实际的开发中,大多都是后端解决跨域问题,那就需要用到下面这个中间件了。
2. 使用Koa2-cors中间件
1. 安装Koa2-cors;
npm install koa2-cors --save
2. 引入Koa2-cors;
var cors= require('koa2-cors);
3. 配置中间件;
app.use(cors());