对于某些API,数据很容易访问,并且不会引发以下CORS错误。
XMLHttpRequest无法加载http://external.service/。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://my.app”访问。
我很困惑为什么它不会抛出错误。
在Node.js中,当我想在我的服务器上启用CORS时,我必须这样做:
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
我认为以类似的方式设置了以下API,但我正在寻找验证这是真的。我希望我的理解在技术上是准确的。
如果有其他解释,我想知道。
不抛出CORS错误的API的一些示例是:
https://itunes.apple.com/hk/rss/topalbums/limit=10/json
答案 0 :(得分:0)
是的,您的理解在技术上是准确的。您可以看到您提到的API示例(或其他任何支持CORS)的响应中的标题,并且它们都包含了标题,就像您所做的那样在你的Node.js应用程序中。
现在他们可能没有在Node.js中这样做,但是为响应添加标题是所有可能的Web框架的基本内容,或者只是在Web服务器本身设置一些配置。
这是一个Postman屏幕截图,显示了github api响应中的标题。