我有一个AngularJS Web应用程序,托管在www.foo.com上,其Web API在www.api.foo.com上。我已经在服务器端启用了CORS,一切运行良好。但是,在企业网络(防火墙,例如Watchdog默认情况下会做到这一点)中剥离了CORS Access-Control-Allow-Origin头文件 链接。我的网站是公共网站。有任何建议来解决这个问题吗?到处都推荐使用JSONP,但我需要进行帖子的操作。
你可以避免直接从Angular调用api.foo.com,而是使用foo.com作为代理来访问api.foo.com。这是一种已知的技术,你可以在网上找到详细信息。缺点是你需要处理两个请求,一个是正常的前端-后端ajax请求,另一个是服务器-服务器调用(foo.com -> api.foo.com)。由于你有一个Angular应用程序,你还需要从SPA中排除URL的一部分。类似foo.com/api/*的内容不能重定向到初始化应用程序的index.html文件中。否则所有请求都将失败。