使用 Eve 和 AngularJS 的 CORS 问题

Man*_*ire 4 python node.js cors angularjs eve

我正在使用 Eve 和 AngularJS 中的 API 开发一个应用程序。为了避免 CORS 问题,我制作了一个简单的 NodeJS 服务器来提供静态文件。然而,即使通过编写允许我的 Python Eve API 上的所有域'X_DOMAINS': '*'(我使用 Curl 进行了测试并且它有效),当我想使用$http.

这是我在 chrome 中遇到的错误:

XMLHttpRequest cannot load http://localhost:5000/regions. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

我什至在我的 Node 应用程序中写了这个,尽管我认为它毫无用处:

app.all('/*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");
  res.header("Access-Control-Allow-Methods", "GET, POST","PUT");
  next();
});
Run Code Online (Sandbox Code Playgroud)

到目前为止没有任何效果,提前感谢您的帮助!

小智 6

javascript 遇到了一些类似的问题。我可以在前夕进行一些调整让它运行,但最终这还不够。BadRequest 响应由 Flask 引擎发送,而不是 eve,从而禁用任何处理错误的 javascript 尝试。看来有一个很好的烧瓶扩展CORS可以很好地覆盖它:

from flask.ext.cors import CORS
....
CORS(app)
Run Code Online (Sandbox Code Playgroud)

这就是我最终所需要的一切。