跨域Ajax调用与PHP请求

时间:2020-08-03 17:33:21

标签: php ajax cors

我已经阅读了有关跨域请求的文章。考虑此资源链接:

https://coinmap.org/api/v1/venues/?mode=list

为什么我可以使用PHP对此链接进行请求并获取数据,但是用ajax调用不能做同样的事情? 我收到此错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://coinmap.org/api/v1/venues/?mode=list. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

如果请求被阻止,为什么我可以使用PHP而不是ajax进行请求?

2 个答案:

答案 0 :(得分:1)

简单答案:浏览器会阻止这种情况。

因此放入您的代码,该代码将HTML标题输出到浏览器:

header('Access-Control-Allow-Origin: https://coinmap.org');

,您的AJAX通话将被允许在那里连接。

答案 1 :(得分:1)

您说您被允许使用PHP发出请求,这听起来像您在href = https://coinmap.org/api/v1/venues/?mode = list处具有锚点。

CORS仅阻止通过javascript发起的请求。由于用户单击了锚标记而发出的请求不受CORS的限制。