2017-04-20 56 views
1

我有一个应用程序需要查询阻止跨源请求的API。现在,我的方法是查询我的自己的 API,然后查询第三方API,然后将结果中继到前端。所以基本上我有设置代理端点。查询阻塞CORS的API

这会导致我想要避免的服务器上的额外负载。有没有一种方法可以直接从我的前端代码执行此操作,并且在后端没有代理端点?

例如,说下面的端点: https://fantasy.premierleague.com/drf/bootstrap-dynamic 如果你直接用它打开浏览器,它运行良好。但是当我使用Angular 2 http来获取响应时,它会被阻止。

+0

我想你应该允许CORS服务器上的API托管。 –

+0

我无法控制该API。 –

+1

拥有一个代理并不是一件坏事。查看他们的[GitHub页面](https://github.com/Netflix/zuul)页面上的Netflix Zuul资源和故事参考,了解为什么有用。 – andreim

回答

3

有没有一种方法可以直接从我的前端代码执行此操作,并且在后端没有代理端点?

不。这是CORS被禁用的一点。如果您无法控制服务器禁用CORS或将其设置为运行应用程序的原始服务器,则必须使用代理服务器,方法是在为vi节点提供服务时设置代理服务器,或者相应地配置apache/nginx服务器。