koa2解决跨域请求问题

安装

cnpm install koa2-cors -S

引入

const app = new Koa();
const bodyParser = require('koa-bodyparser');
app.use(cors({
    origin: function (ctx) {
        // if (ctx.url === '/test') {
            return "*"; // 允许来自所有域名请求
        // }
        // return "http://localhost:8080"; // 这样就能只允许 http://localhost:8080 这个域名的请求了
    },
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
    maxAge: 5,
    credentials: true, // 当设置成允许请求携带cookie时,需要保证"Access-Control-Allow-Origin"是服务器有的域名,而不能是"*";
    allowMethods: ['GET', 'POST', 'DELETE'],
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
}))

Koa的其他知识点:

  • 解析get请求:
router.get('/save', async (ctx)=>{
	let ctx_query = ctx.query;
	ctx.body = {
       ctx_query
    }
});
  • 解析post请求
const Koa = require('koa');
const app = new Koa();
const BodyParser = require('koa-bodyparser'); //引入koa-bodyparser: 
app.use(BodyParser()); // 使用koa-bodyparser: 

router.post('/save', async (ctx)=>{
	let req_query = ctx.request.body;
  	ctx.state.data = {
   		list: req_query
	}
});

你可能感兴趣的:(基础内容)