我正在做一个有趣的小项目,从一个节点脚本开始,使用axios对api进行get调用。我让它工作,并决定我想把它移动到一个普通的脚本中使用的html文件,所以我把它移动到一个html文件之间 <script></script>
标记并做了一些更改,使es6更加干净,据我所知,es6不应该破坏任何东西,但现在我发现了错误 (Reason: CORS header ‘Access-Control-Allow-Origin’ missing)
. 从我收集的信息来看,这是服务器必须设置的,因此我无能为力。我只是不知道它为什么和node一起工作?
以下是我代码的要点:
nodejs:
axios('url_here')
.then(data => {/* Some processing here */})
html文件中的独立js:
const data = await (await fetch('url_here')).json();
/* Same processing here as what I did in Node */
2条答案
按热度按时间mpgws1up1#
cors检查是浏览器的安全功能。这就是为什么它可以在node.js中工作,但不能在浏览器中工作。
“cors机制支持浏览器和服务器之间的安全跨源请求和数据传输。现代浏览器在API(如xmlhttprequest或fetch)中使用COR来降低跨源http请求的风险
vwhgwdsa2#
如果需要对服务器进行get调用,则需要在axios调用中提供此功能,如
或