如何绕过cors讯息?

时间:2019-05-07 07:38:25

标签: angular typescript cors

我想使用Angular App向网站发出HTTP请求。但是,我收到错误消息

  

“已从来源“ url2”访问“ url1”处的XMLHttpRequest   被CORS政策封锁:没有'Access-Control-Allow-Origin'标头   存在于请求的资源中。”

如何避免这种情况?

在互联网上,我读到您可以使用代理进行处理。不幸的是,我没有成功。

我无法在服务器上进行任何更改。

const getSelectedUser = (userId) => users.find(({id}) => id == userId)

2 个答案:

答案 0 :(得分:0)

简而言之,每当在两个不同的域/主机之间发出http请求时,我们都需要将请求来自的主机/来源列入白名单。这样可以确保发件人和收件人知道它可以访问/使用的主机。

解决方案 在您的请求中添加“ Access-Control-Allow-Origin”标题。 还要在后端服务中设置cors政策

答案 1 :(得分:-1)

通常,您必须先调整api才能执行此操作。这是浏览器保护。如果仅在开发环境中需要此插件,则可以将此插件用于Firefox:

https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

如果您在生产中需要此服务器,则服务器上需要某种代理,它基本上是一个脚本,您可以在其中发送来自angular的请求,并将其传递给真实的api。因此,您不会得到cors错误。重要的是,脚本必须位于相同的域下,或者您可以修改标头以允许cors。

在php中,您可以这样操作:

header("Access-Control-Allow-Origin: *");

https://github.com/softius/php-cross-domain-proxy https://gist.github.com/marcusasplund/0a67562ec775c461a53b