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

提交数据为空及API 404错误:前端数据提交问题求助

问题排查与修复方案

一、修复POST 404 Not Found错误

你确认的正确API端点是https://localhost:7072/api/Client,但代码里存在3处端点不一致的问题,直接导致404:

  1. handleSaveButtonClick中的axios请求地址错误
    原代码用了错误的端口和协议,修改为正确端点:
axios.post('https://localhost:7072/api/Client', payload)
  1. postingData中的POST_REQUEST路径错误
    如果POST_REQUEST是封装的axios请求,直接写完整端点避免路径或跨域问题:
src: (context, event) => POST_REQUEST("https://localhost:7072/api/Client", event.postData),

如果想统一管理,可在axios配置里设置baseURL:

axios.defaults.baseURL = 'https://localhost:7072';
// 后续请求可简化为:axios.post('/api/Client', payload)

二、解决接口接收null值的问题

1. 变量引用错误:未使用解析后的值

handleSaveButtonClick里定义了解析后的变量(如parsedClientName),但payload里用的却是原始变量,若原始状态未正确初始化就会传null,修改为使用解析后的值:

const payload = {
  ClientId: parsedClientId,
  ClientName: parsedClientName, // 替换原ClientName
  CompleteAddress: parsedCompleteAddress, // 替换原CompleteAddress
  ContactNumber: parsedContactNumber,
  Business: parsedBusiness, // 替换原Business
  PrincipalAmount: parsedPrincipalAmount,
  LoanTerm: parsedLoanTerm,
  LoanCycle: parsedLoanCycle,
  LoanBalance: parsedLoanBalance,
  ArrearsAmount: parsedArrearsAmount,
  DateGranted: DateGrantedString,
  MaturityDate: MaturityDateString,
  LastTransactionDate: LastTransactionDateString,
  LoanStatus: parsedLoanStatus, // 替换原LoanStatus
  CBUBalance: parsedCBUBalance,
  MyIponBalance: parsedMyIponBalance,
  TrustStaff: parsedTrustStaff, // 替换原TrustStaff
};

2. 日期格式不统一:直接传递Date对象

handleSaveButtonLeave里直接传递DateGranted等Date对象,后端通常无法解析,需转成ISO字符串:

send({
  type: "POST_DATA",
  postData: {
    client: {
      // ...其他字段不变
      DateGranted: DateGrantedString, // 替换原DateGranted
      MaturityDate: MaturityDateString, // 替换原MaturityDate
      LastTransactionDate: LastTransactionDateString, // 替换原LastTransactionDate
      // ...其他字段不变
    },
  },
});

3. 删除冗余的无效代码

postingData的entry动作里所有字段都是event.postData.client.X = event.postData.client.X,完全是无效代码,还可能引发变量覆盖风险,直接删掉:

// 移除以下全部内容
entry: (context, event) => {
  event.postData.client.ClientId = event.postData.client.ClientId;
  // ...所有重复赋值的代码
  console.log("Entering postingData state. Received event:", event);
},

4. 检查状态变量与输入框的绑定

确认ClientId、ClientName等状态变量是否正确绑定输入框(以React为例):

// 示例:正确的输入框绑定方式
const [ClientName, setClientName] = useState('');
<input 
  value={ClientName} 
  onChange={(e) => setClientName(e.target.value)} 
  placeholder="客户名称"
/>

若未正确绑定,输入值不会同步到状态变量,提交时自然传null。


内容的提问来源于stack exchange,提问作者Johane Grei Dingding

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:17:03