跨域
- 使用koa-cors解決跨域問題
- 添加一個(gè)中間件
// 跨域設(shè)置
// app.use(convert(cors));
app.use(async (ctx, next) => {
ctx.set('Access-Control-Allow-Origin', '*');
await next();
});
解決options請求
由于做了跨域,所以前端用post請求后臺(tái)接口的時(shí)候,會(huì)有預(yù)檢,及時(shí)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();
}
});