koa2解决跨域请求和options请求

跨域

  1. 使用koa-cors解决跨域问题
  2. 添加一个中间件
// 跨域设置 
// app.use(convert(cors));
app.use(async (ctx, next) => {
  ctx.set('Access-Control-Allow-Origin', '*');
  await next();
 });

解决options请求

由于做了跨域,所以前端用post请求后台接口的时候,会有预检,及时options请求,解决的方法,在nodejs里对options的请求直接返回200,具体的做法是在app.js加入如下代码:

app.use(async (ctx, next)=> {
  ctx.set('Access-Control-Allow-Origin', '*');
  ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
  ctx.set('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
  if (ctx.method == 'OPTIONS') {
    ctx.body = 200; 
  } else {
    await next();
  }
});
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 引用:http://www.dailichun.com/2017/03/22/ajaxCrossDomainSol...
    Deam无限阅读 2,325评论 0 9
  • 1. 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScri...
    cbw100阅读 6,489评论 2 86
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    Yaoxue9阅读 1,414评论 0 6
  • 桃花帘外东风软,桃花帘内晨妆懒。帘外桃花帘内人,帘中人比桃花瘦。一朝春尽红颜老,花落人亡俩不知。 正是六月的时候,...
    陌上红尘_62af阅读 2,661评论 8 44
  • 长安道上车马喧,长安客爱酒家眠。 柏梁金掌俱作土,五陵飞花几时无。
    响石阅读 414评论 5 7

友情链接更多精彩内容