Chasing-coins api cors 问题
Chasing-coins api cors issue
所以我不太确定我做错了什么,但是我在尝试对 [=29= 进行 API 调用时遇到了 cross-origin 请求被阻止的问题].显示的两个原因:
- CORS header 'Access-Control-Allow-Origin' 缺失
- CORS 请求未成功
这是我的代码
fetch('https://chasing-coins.com/api/v1/coins', {
method: 'GET',
headers: { 'Access-Control-Allow-Origin': '*' }
})
.then(response => console.log(response))
我做错了什么?
编辑:不确定这是否有影响,但我使用的是本地主机并测试了 firefox 和 chrome,两者都不起作用
这与托管 API 的服务器的 CORS 问题有关。来源 API 没有设置允许浏览器从不同来源请求资源的配置,因此从不同来源向浏览器发出的任何请求都将以飞行前错误告终。
在TCP/IP握手请求期间发生飞行前错误,此时确认来源,如果服务器未配置为处理跨来源请求,浏览器将不会完成请求符合预期。
要解决这个问题,您将需要使用后端服务器(例如 nodejs)来查询 API 并将其服务到您的前端代码。这将起作用,因为当从外部 APIs 请求资源时,nodejs 没有 CORS 策略。
这也是为什么 CURL 和 Postman 等应用程序可以使用 API,因为它们也不对请求强制执行 CORS 策略。
所以我不太确定我做错了什么,但是我在尝试对 [=29= 进行 API 调用时遇到了 cross-origin 请求被阻止的问题].显示的两个原因:
- CORS header 'Access-Control-Allow-Origin' 缺失
- CORS 请求未成功
这是我的代码
fetch('https://chasing-coins.com/api/v1/coins', {
method: 'GET',
headers: { 'Access-Control-Allow-Origin': '*' }
})
.then(response => console.log(response))
我做错了什么?
编辑:不确定这是否有影响,但我使用的是本地主机并测试了 firefox 和 chrome,两者都不起作用
这与托管 API 的服务器的 CORS 问题有关。来源 API 没有设置允许浏览器从不同来源请求资源的配置,因此从不同来源向浏览器发出的任何请求都将以飞行前错误告终。
在TCP/IP握手请求期间发生飞行前错误,此时确认来源,如果服务器未配置为处理跨来源请求,浏览器将不会完成请求符合预期。
要解决这个问题,您将需要使用后端服务器(例如 nodejs)来查询 API 并将其服务到您的前端代码。这将起作用,因为当从外部 APIs 请求资源时,nodejs 没有 CORS 策略。
这也是为什么 CURL 和 Postman 等应用程序可以使用 API,因为它们也不对请求强制执行 CORS 策略。