Javascript 膝关节炎中间件订购 我有一个问题,膝关节炎和中间件订单。< /P>
Im'使用多个中间件、Koa路由器、强大、Koa静态文件夹和一个用于设置头 现在,按照当前顺序,当我通过API将文件从前端上传到后端时,它将抛出CORS错误,这意味着头不在那里(因此该中间件没有正确加载) 当我移动它们时,其他东西会停止工作 这是我的密码:Javascript 膝关节炎中间件订购 我有一个问题,膝关节炎和中间件订单。< /P>,javascript,node.js,koa,koa-router,Javascript,Node.js,Koa,Koa Router,Im'使用多个中间件、Koa路由器、强大、Koa静态文件夹和一个用于设置头 现在,按照当前顺序,当我通过API将文件从前端上传到后端时,它将抛出CORS错误,这意味着头不在那里(因此该中间件没有正确加载) 当我移动它们时,其他东西会停止工作 这是我的密码: this.app.use(serve({rootDir: './uploads', rootPath: '/public/uploads/'})); this.app.use(router.routes()); this.app.use(fo
this.app.use(serve({rootDir: './uploads', rootPath: '/public/uploads/'}));
this.app.use(router.routes());
this.app.use(formidable());
this.app.use((ctx, next) => {
// Website you wish to allow to connect
ctx.set('Access-Control-Allow-Origin', '*');
// Request methods you wish to allow
ctx.set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
ctx.set('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
ctx.set('Access-Control-Allow-Credentials', "true");
// Pass to next layer of middleware
});
有人能给我解释一下如何确定中间件的正确顺序吗 您是否真的在设置标题的最后一位调用了
next()
?但是是的,顺序很重要。如果按照与当前顺序相反的顺序进行操作,会发生什么?请按照http响应的顺序对函数进行排序:首先是页眉,然后是内容,然后是页脚。此外,我建议对Koa中与页眉相关的任何内容使用/Express@JonasW. 404之类的任何通配符都应该放在最后。当头放在第一位时,它根本找不到路由。甚至当我添加next()时;到页眉的末尾