我试图在reactJS中使用axios从Wikipedia API获取数据。 这是我的获取请求
axios.get('https://en.wikipedia.org/w/api.php?action=opensearch&search=lol&format=json&callback=?')
.then((response) => {
console.log(response);
})
.catch((error)=>{
console.log(error);
});
我收到了这个错误:
阻止跨源请求:同源策略禁止读取 远程资源在 https://en.wikipedia.org/w/api.php?action=opensearch&search=lol&format=json&callback=? (原因:缺少CORS标题'Access-Control-Allow-Origin'。
然后我将启动脚本更改为:
HTTPS=true yarn start
我的服务器以https启动,但错误仍然存在。我也尝试过将json更改为jsonp,如其他线程所示,但它似乎也没有帮助。
答案 0 :(得分:2)
您需要将origin=*
添加到Wikipedia API查询参数:
axios.get('https://en.wikipedia.org/w/api.php?origin=*&action=opensearch&search=lol')
.then((response) => {
console.log(response);
})
.catch((error)=>{
console.log(error);
});
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
有关背景信息,请参阅 Does Wikipedia API support CORS or only JSONP available? 的答案。