刚接触 API 的同学,遇到 CORS 往往会被绕进一个黑洞。 然而,只要你换个路径:让请求经由代理从服务端发出,而不是从浏览器硬跨域,问题就轻松化解。 这招,曾替我在上线前省下好几天的来回扯皮。 希望也能帮到此刻的你。
CORS 报错
你在做一个 React 或 Next.js 的前端。 你准备从某个 API 拉数据。 你手一抖,fetch 发出去,然后——
Access to fetch at 'https://api.example.com/data'
from origin 'http://localhost:3000' has been blocked
by CORS policy.
砰!CORS 报错直击灵魂。 如果你经历过,你就懂那种无力感。
⚠️ 这玩意儿为啥老来找茬?
CORS(跨域资源共享)是浏览器内置的安全机制:它会阻止localhost:3000 的前端代码,直接去请求另一个来源(比如 api.example.com),除非对方服务端明确放行相应的 CORS 头。
然而,当你不掌控后端时,你就被动了。 至少,我曾经以为我被卡死了。
救我于水火的偏方:本地代理
与其苦苦央求后端改 CORS,不如在本地起一个代理,把前端请求“伪装”成同源再转发出去。因此,浏览器不拦你,你也不再被吊打。
操作就三步:
1)安装 http-proxy-middleware
npm install http-proxy-middleware
2)Create React App 项目里,新建/编辑 src/setupProxy.js:
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
app.use(
'/api',
createProxyMiddleware({
target: 'https://api.example.com',
changeOrigin: true,
pathRewrite: {
'^/api': '', // 转发前去掉 /api 前缀
},
})
);
};
3)前端代码里改成这样:
fetch('/api/data') // 不再直打 https://api.example.com/data
搞定CORS 直接消失。
⚙️ 加餐:Next.js 的写法在 Next.js 里,创建 next.config.js:
module.exports = {
async rewrites() {
return [
{
source: '/api/:path*',
destination: 'https://api.example.com/:path*',
},
];
},
};
此后你依然请求 /api/...,但 Next.js 会在服务端把请求代理到真实地址。于是,不需要动后端,CORS 也不再作妖。
🤯 为啥它就灵了?因为请求不是由浏览器跨域发出,而是由(本地)服务端/开发服务器代劳:
代理替你“出面”,再把结果转交给前端。
浏览器的 CORS 策略因此不被触发。
听起来“像开了挂”,但这真的合法合规。
🛠 我常用的工具清单
http-proxy-middleware(CRA 场景稳)- Next.js
rewrites(服务端转发更优雅) cors-anywhere(临时测试、权衡使用)
最后
刚接触 API 的同学,遇到 CORS 往往会被绕进一个黑洞。 然而,只要你换个路径:让请求经由代理从服务端发出,而不是从浏览器硬跨域,问题就轻松化解。 这招,曾替我在上线前省下好几天的来回扯皮。 希望也能帮到此刻的你。
AI大模型学习福利
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获
四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量
1551

被折叠的 条评论
为什么被折叠?



