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

使用Pledge捐赠API遇CORS错误:Access-Control-Allow-Origin缺失

问题解答

你的问题并非前端请求头配置遗漏,核心原因在于浏览器的CORS安全机制与Postman的请求模式差异,以及Pledge API的跨域配置限制。

为什么Postman能正常运行?

Postman是独立的客户端工具,不遵循浏览器的CORS规则:它不会自动发送OPTIONS预检请求,也不会校验响应头中的Access-Control-Allow-Origin字段,因此能直接拿到API响应。

为什么浏览器会拦截请求?

当你从前端页面(比如http://localhost:3000或你的生产域名)发起跨域请求时,浏览器会先发送一个OPTIONS预检请求到Pledge API服务器,检查服务器是否允许当前域名的跨域访问。如果服务器没有返回正确的CORS响应头(比如Access-Control-Allow-Origin、Access-Control-Allow-Headers等),浏览器就会触发拦截,抛出你看到的错误。

你的情况中,响应缺失Access-Control-Allow-Origin头,说明Pledge API服务器没有配置允许你的前端域名进行跨域访问。

你的前端代码是否有问题?

从代码来看,你严格遵循了API文档要求:使用GET方法,只携带了Authorization请求头,没有配置错误。


解决方案

1. 联系Pledge API官方配置CORS

直接联系Pledge的技术支持团队,请求他们将你的前端域名添加到CORS允许列表中,确保服务器返回以下响应头:

  • Access-Control-Allow-Origin: 你的前端域名(生产环境推荐指定域名,而非通配符*)
  • Access-Control-Allow-Headers: Authorization(允许携带Authorization头)
  • 同时确保服务器能正确处理OPTIONS预检请求

2. 搭建后端代理(快速解决临时问题)

在你的后端服务器上发起对Pledge API的请求,前端页面请求自己的后端接口,绕开浏览器的CORS限制。以下是一个Node.js/Express的代理示例:

// 后端代理代码(Node.js + Express)
const express = require('express');
const fetch = require('node-fetch');
const app = express();

// 代理接口
app.get('/api/pledge-donations', async (req, res) => {
  const apiKey = '你的Pledge API密钥';
  try {
    const response = await fetch('https://api.pledge.to/v1/donations', {
      headers: {
        'Authorization': `Bearer ${apiKey}`
      }
    });
    const data = await response.json();
    res.json(data);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
});

app.listen(3001, () => console.log('代理服务器运行在 http://localhost:3001'));

修改前端代码,请求自己的代理接口:

const endpoint = 'http://localhost:3001/api/pledge-donations';

function handleClick(e){
    e.preventDefault();
    fetch(endpoint, { method: 'GET' })
      .then(response => response.json())
      .then(jsonResponse => console.log(jsonResponse))
      .catch(error => console.log("请求出错>>>>", error));
}

submitBtn.addEventListener('click', handleClick);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 04:32:41