这是我的场景:
我将构建一个AngularJS Web应用程序,它需要与多个跨域服务器交互。有两种方法:
-
从客户端发出所有请求-根据我的理解,AngularJS使我们能够构建一个富客户端,并对服务器进行REST调用以获取数据。然而,对于这种方法,我必须处理CORS问题。
-
将这些调用移动到服务器端(Node.js)-Node.js会对跨域服务器进行所有调用。它公开了AngularJS的REST API来请求Node.js进行这些调用。
哪种方法适合我的场景?有什么标准可以指导我使用哪种方法吗?
那些跨领域的资源不是我维护的,我没有办法控制他们提供资源的方式。此外,至少有一个资源不支持CORS。此时此刻,我配置了一个代理来处理这些调用。
当涉及到与跨域交互时,如果目标服务器支持,您可以选择使用CORS或JSONP。如果不是唯一可行的选择是通过您自己的服务器代理请求。
您可以通过服务器使所有内容都成为代理,但这需要努力和时间来实现。我认为为支持它的服务器使用正常的CORS或JSONP方式并在底层基础设施不支持它的情况下使用代理方法没有任何害处。