首页 > 其他 > 详细

koa跨域的一些简单处理

时间:2021-04-02 10:51:48      阅读:36      评论:0      收藏:0      [点我收藏+]

第一种方法通过设置头部处理跨域

app.use(async (ctx, next) => {
ctx.set("Access-Control-Allow-Origin", "http://192.168.31.45:63341");
/* 处理跨域携带cookie时出现的问题 */
ctx.set("Access-Control-Allow-Credentials", "true");
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");
ctx.set("X-Powered-By", ‘ 3.2.1‘)
ctx.set("Content-Type", "application/json;charset=utf-8");
if (ctx.request.method.toLowerCase() == ‘options‘) {
ctx.state = 200; //让options尝试请求快速结束
} else {
await next();
}
});
第二种使用koa2-cors插件解决跨域问题
app.use(
cors({
origin: function (ctx) { //设置允许来自指定域名请求
if (ctx.url === ‘/api/list‘) {
return ‘*‘; // /api/list接口所有域名都可以请求
}
return ‘http://192.168.31.45:63341‘; //只允许http://192.168.31.45:63341这个域名的请求
},
maxAge: 5, //指定本次预检请求的有效期,单位为秒。
credentials: true, //是否允许发送Cookie
allowMethods: [‘GET‘, ‘POST‘, ‘PUT‘, ‘DELETE‘, ‘OPTIONS‘], //设置所允许的HTTP请求方法
allowHeaders: [‘Content-Type‘, ‘Authorization‘, ‘Accept‘], //设置服务器支持的所有头信息字段
exposeHeaders: [‘WWW-Authenticate‘, ‘Server-Authorization‘] //设置获取其他自定义字段
})
);

koa跨域的一些简单处理

原文:https://www.cnblogs.com/zhuangbowu/p/14609318.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!