You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从JsFiddle调用第三方API时出现CORS Header错误,寻求解决方法

问题分析与解决

问题出在哪

  1. 错误添加请求头:你在请求里加的Access-Control-Allow-Origin: *完全无效,这个头是服务端在响应时返回给浏览器的,用来告知浏览器允许哪些域名发起跨域请求,客户端发送该请求头对解决CORS问题没有任何帮助。
  2. CORS跨域限制:checkip.amazonaws.com的服务端未配置允许JsFiddle域名发起跨域请求,浏览器出于安全策略拦截了响应,这就是你看到的控制台错误。

解决方法

方案1:使用CORS代理

通过公共CORS代理转发请求,修改代码如下:

async function send() {
  try {
    // 借助CORS代理转发请求
    const response = await axios.get('https://cors-anywhere.herokuapp.com/https://checkip.amazonaws.com/');
    console.log("获取到的IP:", response.data.trim());
  } catch (err) {
    console.log(err);
  }
}
send();

注:部分公共代理存在调用频率限制,长期使用建议自行搭建简单代理服务(比如用Node.js的express搭配cors中间件)。

方案2:本地测试禁用浏览器CORS限制

如果仅用于本地测试,可给浏览器添加禁用CORS的启动参数,比如Chrome的启动命令:

chrome.exe --disable-web-security --user-data-dir="C://ChromeDevSession"

该方法仅适合开发测试场景,不用于生产环境,日常浏览时不建议使用,会降低浏览器安全性。

内容的提问来源于stack exchange,提问作者mmb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:25:20