我正在使用基于Express的Web项目来服务该网站,并使用Aurelia(或任何框架)应用程序作为管理员面板来编辑网站的内容。
我通过express的static / public目录为Aurelia-App提供服务。 Compiled Aurelia应用程序位于Express应用程序内。到目前为止,这在我的本地机器上运行良好。
我刚刚意识到,当我将网站上传到外部服务器时,我的CORS设置不再有效,因为通过Aurelia-App向Express-Api发送请求的IP始终是机器IP,其中Aurelia-App加载 - 无论Aurelia-App托管在哪里,对吗?由于Aurelia-Admin应用程序是从我的本地计算机执行的,因此授权localhost for CORS不再受影响了吗?
解决这个问题的正确方法是什么?
答案 0 :(得分:0)
解决方案实际上非常简单:只需为express-app中的所有请求启用CORS:
// ENABLING CORS
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, un-populated");
next();
});