【发布时间】:2023-01-15 15:13:45
【问题描述】:
我正在尝试从位于此处的公共 Deezer Api 获取数据:https://api.deezer.com/。
为了获取该数据,我正在使用来自 reduxtoolkit 的 RTK-Query,就像这样(然后使用我从每个端点获得的钩子在我的组件中使用它):
export const deezerApi = createApi({
reducerPath: 'deezerApi',
baseQuery: fetchBaseQuery({ baseUrl: 'https://api.deezer.com/',
mode: "cors", ==> enable cors here
prepareHeaders: (headers) => {
headers.set('Access-Control-Allow-Origin', '*') ==> what i tried but still not working
// headers.set('Access-Control-Allow-Methods', 'GET') //
// headers.set('Access-Control-Allow-Headers', '*') //
return headers
},
}),
endpoints: (builder) => ({
getChartArtists: builder.query({
query: () => `chart/artists`,
}),
// More endpoints
}),
})
这是我得到的错误:
CORS 策略已阻止从来源“http://localhost:3000”访问“https://api.deezer.com/chart/albums”:对预检请求的响应未通过访问控制检查:否请求的资源上存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源
无论我是否添加这行代码,我都会收到此错误:
headers.set('Access-Control-Allow-Origin', '*')当我查看网络控制台时,它似乎已添加到我的请求标头中......
有没有人发生了什么事或有解决办法?
谢谢你的帮助 !
【问题讨论】:
标签: javascript reactjs redux redux-toolkit rtk-query