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

使用breeze-next时Axios请求指向前端而非后端的问题求助

问题解决:Axios请求发送至前端地址而非后端

可能的原因及解决方案

1. 自定义Hook未正确导入配置好的Axios实例

注册登录功能正常,说明项目默认的Axios配置是生效的。但你的自定义Hook可能误导入了原生Axios,而非自己配置的带baseURL的实例。

检查方式:
确认useAccount Hook中的axios是你配置的实例:

// 正确:导入自己配置的axios文件(比如路径是@/lib/axios)
import axios from '@/lib/axios'

// 错误:导入原生axios,会使用默认配置
// import axios from 'axios'

2. 环境变量未正确加载

虽然你在.env中声明了NEXT_PUBLIC_BACKEND_URL,但可能存在以下问题:

  • 变量未生效:修改.env后需要重启Next.js开发服务器,否则新变量不会被加载。
  • 文件位置错误:.env文件必须放在项目根目录,不能放在src或其他子文件夹中。
  • 变量名拼写错误:确保变量名是NEXT_PUBLIC_BACKEND_URL,只有前缀为NEXT_PUBLIC_的变量才会暴露给客户端代码。

验证方式:
在你的Axios配置文件中添加日志,查看变量是否正确读取:

import Axios from 'axios'

console.log('Backend URL:', process.env.NEXT_PUBLIC_BACKEND_URL) // 检查控制台输出

const axios = Axios.create({
    baseURL: process.env.NEXT_PUBLIC_BACKEND_URL,
    headers: {
        'X-Requested-With': 'XMLHttpRequest',
    },
    withCredentials: true,
})

export default axios

重启开发服务器后,若控制台输出http://localhost:8000则正常,否则排查上述环境变量问题。

3. 检查请求路径格式

确保请求路径以斜杠/开头,你当前代码中/sanctum/csrf-cookie、/api/user等路径格式是正确的。若路径不带斜杠,Axios会将其拼接到当前页面的URL路径后,而非baseURL。

4. 复用Breeze-Next默认的Axios实例

Breeze-Next模板本身已经配置好了Axios实例(通常在lib/axios.js),建议直接复用该实例,避免重复创建导致的配置不一致问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 13:48:25