axios跨域问题解决
问题描述
- 前后端分离项目,前端使用axios访问后端数据,前后端用的是两个域名,在本地测试接口数据正常,但是部署到服务器上就出现跨域问题,奇怪的是有的接口跨域有的接口不跨域
分析过程
- 插播一个小发现,自从部署到服务器代码后服务器总是不会及时生效,要过一分钟左右才会生效,以为是nginx服务器的缓存,更新代码后重启服务器都没有用,今天才发现原来是在部署的时候PHP打开了opcache,把这个关闭就行了
- 后端PHP程序在处理请求的时候是把所有的请求源都为允许的,刚开始以为是在header中携带token的问题,只要不携带token就没事,后来经过调试发现是后端在处理token的时候抛出了异常,然后前端程序就出现了跨域问题,测试一段时间发现2**的开头的状态码都是正常的,其他的状态码都是报跨域,这个时候自己犯了一个错误,觉得既然200是能接受的,说明跨域问题是不存在,是不是前端程序有什么问题,然后就照着这个方向去了,但是找了很长时间都没有结果,最后有人说是异常处理也要设置跨域,tp框架在哪里设置异常跨域就不清楚了,这个时候到了解决问题的死胡同了,于此同时前端也在查找相关解决办法,他在群里问别人是不是可以通过nginx设置成同源,刚开始的时候我是觉得他没有接触过nginx服务器的东西肯定搞不出来的,服务器就由他胡乱配置吧,但是最后没有想到的是他居然成功的解决了这个跨域的问题,先说下他是怎么配置的吧,其实很简单
location /api/ {
proxy_pass http://api.server.com/;
}
就是这么简单的代码
感悟
- 在遇到一个问题方向很重要,对的方向可以加快解决问题的进度
- 自己有个问题,不喜欢问别人或者说不喜欢讨论,别人知道的也是网上那些东西,还不如自己直接去网上搜,这种想法本身没有问题,如果遇到自己没有涉及过的领域可以先冷静分析适当的时间,如果在一定时间没有解决或者没有思路那就要问熟悉这个技术的人了,这样才能更快的学东西
- 永远不要觉得自己什么事情都比别人厉害,要虚心
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~