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

MongoDB+React根据邀请码查询文档问题排查

问题排查与修复方案

针对你遇到的核心问题,直接给出针对性修复步骤和修正后的代码:

1. 后端查询字段修正

把查询条件里的无效字段zzceva替换为文档实际存在的invitationCode,同时用findOne确保返回唯一匹配的文档:

// 后端 record.js 修正后的查询逻辑
app.post('/api/getInvitation', async (req, res) => {
  try {
    const invitationCode = req.body.invitationCode;
    // 替换错误字段名,使用文档实际存在的invitationCode
    const invitation = await YourModel.findOne({ invitationCode });
    if (invitation) {
      res.status(200).json(invitation);
    } else {
      res.status(404).json({ message: '邀请码不存在' });
    }
  } catch (error) {
    res.status(500).json({ message: '服务器错误', error: error.message });
  }
});

2. 前端fetch请求与响应处理修正

设置Content-Type: application/json请求头,将邀请码包装为JSON对象发送;同时必须解析响应的JSON数据后再更新状态:

// 前端fetch请求修正代码
const fetchInvitation = async (invCode) => {
  try {
    const response = await fetch('/api/getInvitation', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json', // 必须设置该请求头
      },
      body: JSON.stringify({ invitationCode: invCode }) // 包装为JSON对象,字段名与后端对应
    });

    if (!response.ok) {
      throw new Error(`请求失败:${response.status}`);
    }

    // 解析响应为JSON格式后再赋值给状态
    const data = await response.json();
    setInvitation(data); // 此处替换为你的状态更新方法
  } catch (error) {
    console.error('获取邀请信息失败:', error);
  }
};

额外必要配置

确保后端已添加解析JSON请求体的中间件,否则无法读取req.body:

// 后端入口文件(如app.js)添加以下代码
const express = require('express');
const app = express();
app.use(express.json()); // 必须配置,否则无法解析JSON格式的请求体

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:10:30