在“https://api-v3.igdb.com/games...”处访问 XMLHttpRequest ... 请求的资源上不存在“Access-Control-Allow-Origin”标头

IT技术 reactjs axios next.js
2021-05-10 04:25:25
Access to XMLHttpRequest at 'https://api-v3.igdb.com/games/?search=nfs&fields=name,genres.name,first_release_date,cover.*&limit=10&offset=0' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我不明白如何解决这个错误。

我需要 localhost:3000 中的跨源帮助

显示这样的代码:

var headers = {'user-key': '**********************',
            'Accept': 'application/json',
        "Access-Control-Allow-Methods": "GET, POST, PATCH, PUT, DELETE, OPTIONS",
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization',
    'Access-Control-Allow-Credentials': true
}

    var dataurl = 'https://api-v3.igdb.com/games/?search=nfs&fields=name,genres.name,first_release_date,cover.*&limit=10&offset=0'

axios.post( dataurl, '' , { crossDomain: true,headers:headers })
.then(resData => {
    console.log(resData)
        })
        .catch(err =>{
            console.error(err)          
        })
1个回答

CORS 策略由服务器而不是客户端处理——如果服务器不返回 Access-Control-* 标头以响应预检请求,则您无法向服务器发出跨源请求。

并非所有请求都受 CORS 检查的约束——它是从您的页面触发它的“用户密钥”标头的存在。但您所做的正是 CORS 旨在防止发生的事情:您的站点正在导致用户的浏览器将用户信息发送到第三方站点。