调用其他网站接口数据报错

作者: 来源:本站原创 点击数: 发布时间:2021年11月03日

问题描述:在SiteAzure下的网站调用其他网站的接口数据报错,报错如下:

Access to XMLHttpRequest at “xxx” from origin”xxx” has been blocked by CORS.

77d6ccd9c6d14186bcabe92a4aa6d9e2.Png

问题分析:Access control allow origin直译过来就是"访问控制允许同源",这是由于ajax跨域访问引起的。所谓跨域就是,浏览器只允许请求当前域的资源,而对其他域的资源表示不信任,那怎么才算跨域呢?

(1)请求协议http,https的不同

(2)域domain的不同

(3)端口port的不同

 解决方案:

在提供接口的网站服务器上设置Access control allow origin,将我们的网站域名添加进去。

添加后的响应头如下:

9af6d5d46e8a46249038d968e8d3b4e1.Png