我已经阅读了有关跨域请求的文章。考虑此资源链接:
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进行请求?
答案 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的限制。