“对 fetch 的访问已被 CORS 策略阻止”尝试使用 chrome 扩展发送 GET 请求时出错

问题描述 投票:0回答:1
let link = https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?                   key=XXXXXXXXXX&steamids=764564564575656
fetch(link)
    .then(resp => {
        resp.json()
    })
    .then(data=> {
        console.log(data)
})

我正在尝试开发 chrome 扩展,从特定网站获取数据并将 get 请求发送到 API,当我尝试向该 API 网站发送 GET 请求时遇到此错误。看起来该网站使用扩展程序阻止了任何外部请求,有什么可能的方法可以避免这种情况吗?

我收到此错误: 来自来源“https://csfloat.com”已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

javascript google-chrome google-chrome-extension google-chrome-devtools
1个回答
0
投票

这是因为你试图从不同的来源访问

api.steampowered.com
https://csfloat.com
,你需要告诉你的服务器允许它访问服务器资源,如果你使用
NodeJS
作为后端,请安装
cors
(交叉-原始资源共享)通过
npm install cors
然后在您的服务器代码中:

const cors = require("cors");

app.use(cors({ origin: "https://csfloat.com/" }));

© www.soinside.com 2019 - 2024. All rights reserved.