无法从 Wikipedia API 获取数据
Posted
技术标签:
【中文标题】无法从 Wikipedia API 获取数据【英文标题】:Cannot fetch data from Wikipedia API 【发布时间】:2018-07-14 06:06:43 【问题描述】:let dataObj = [];
const query = 'marvel';
fetch(`https://en.wikipedia.org/w/api.php?action=query&titles=$query&prop=revisions&rvprop=content&format=json&formatversion=2`)
.then(data => data.json())
.then(data => dataObj.push(data))
.catch(err => console.log(err));
这是我收到的错误:
请求的资源上不存在“
Access-Control-Allow-Origin
”标头。因此,Origin 'https://s.codepen.io' 不允许访问。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors
”以获取禁用 CORS 的资源。
我将模式设置为no-cors
,但还是不行。
【问题讨论】:
【参考方案1】:尝试添加查询参数 origin=*
以帮助解决 CORS 问题:
https://en.wikipedia.org/w/api.php?action=query&titles=$query&prop=revisions&rvprop=content&format=json&formatversion=2&origin=*
希望对您有所帮助!
【讨论】:
请不要介意我问,这里的起源是什么。我必须离开它 = *- 还是我需要从某个地方获取价值 查看这个问题,它描述了 CORS 和 Wikipedia API ***.com/q/23952045/5059657 。您实际上是在设置源头以匹配origin=*
的任何源。对于未经过身份验证的请求,这足以获取您需要的数据。试一试,看看它对你有什么作用。
如果您正在执行经过身份验证的请求。您必须根据您创建的 API 帐户设置源以匹配您的服务器/客户端位置。 origin=*
足以用于您未经过身份验证的基本数据检索。以上是关于无法从 Wikipedia API 获取数据的主要内容,如果未能解决你的问题,请参考以下文章
无法从 wikipedia API 恢复图像并将其显示在另一个视图控制器中
如何使用 PHP 从 Wikipedia API 获取结果?
如何使用Wikipedia的API获取Wikipedia内容?