2015-09-04 138 views
3

我有一个Angularjs Web应用程序托管在www.foo.com和它的Web API在www.api.foo.com。我已经在服务器端启用了CORS。这一切都运行良好。但CORS访问控制 - 允许 - 原始头部在公司网络中被剥离(防火墙如Watchdog默认为link)。我的网站是一个公共网站。任何建议来解决这个问题。建议在任何地方使用JSONP,但我也需要发布帖子。CORS防火墙问题

回答

1

您可以避免直接从角度调用api.foo.com,而是使用foo.com作为api.foo.com的代理。这是一种已知技术,因此您可以在网上找到详细信息。缺点是你必须处理两个请求,一个正常的前端 - 后端ajax请求和一个服务器 - 服务器调用(foo.com - > api.foo.com)。

由于您有一个Angular应用程序,您还需要从SPA中排除一部分URL。像foo.com/api/*这样的东西不能被重定向到应用程序初始化的index.html。否则,您的所有请求都会失败。