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

无法GET /hotel/register:前后端数据存储交互问题排查求助

排查「Cannot GET /hotel/register」错误的解决方案

核心问题定位

错误提示Cannot GET /hotel/register说明:客户端向/hotel/register路径发起了GET请求,但你的后端仅配置了POST类型的路由来处理该路径,因此服务器返回404错误。

具体排查步骤

1. 验证前端请求方法是否正确

打开浏览器开发者工具(F12)的「Network」面板,找到/hotel/register的请求记录,查看「Method」列是否为GET:

  • 如果是表单提交:检查<form>标签是否添加了method="POST",若用JS处理提交逻辑,确保用fetch/axios等工具明确指定请求方法为POST。
  • 检查commonrequest函数实现:确认它正确传递了第一个参数的POST方法,避免参数顺序错误导致方法被覆盖。示例正确实现:
    export async function commonrequest(method, url, data, headers) {
      const config = {
        method: method,
        headers: headers || {},
      };
      // 处理FormData(文件上传场景)
      if (data instanceof FormData) {
        config.body = data;
      } else {
        config.headers["Content-Type"] = "application/json";
        config.body = JSON.stringify(data);
      }
      const response = await fetch(url, config);
      return response.json();
    }
    

2. 检查后端路由配置与挂载

你的hotelRouter中仅注册了POST /hotel/register,无GET路由,这是合理的,但需确认路由是否正确挂载:

  • 确保app.js中app.use(hotelRouter)的顺序没有被其他路由覆盖(比如router中是否有通配路由/*),目前代码中router的路由都是注释状态,冲突概率低,但可临时添加GET路由测试:
    // 在hotelRouter.js中添加临时测试路由
    router.get("/hotel/register", (req, res) => {
      res.status(405).json({ msg: "该接口仅支持POST请求" });
    });
    
    若请求返回此提示,说明路由挂载正常,问题出在前端请求方法。

3. 验证后端接口路径与前端BASE_URL匹配

检查BACKEND_URL的配置:

  • 若BACKEND_URL是http://localhost:4003/api,则前端请求路径会变成/api/hotel/register,但后端路由是/hotel/register,导致路由不匹配。需确保BACKEND_URL与后端路由前缀一致(比如后端没加前缀的话,BACKEND_URL应为http://localhost:4003)。

4. 排查multer中间件是否导致异常

虽然错误提示是请求方法问题,但可临时注释upload.single("hotel_profile")中间件,测试POST请求是否能正常到达hotelrs.hotelregister控制器:

// 临时注释multer,测试路由可用性
router.post("/hotel/register", /* upload.single("hotel_profile"), */ hotelrs.hotelregister);

若此时请求正常,说明multer的存储配置可能存在问题(比如路径权限、文件名冲突等),需排查storageConfig.js的实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:55:29