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

jQuery AJAX无法POST至Express /login端点问题求助

问题排查与解决方案

1. 核心拼写错误

你的jQuery代码构造请求数据时,把password拼写成了paswword(多了一个w):

const finalData = ({
  "username": $('#name').val(),
  "paswword": $("#surname").val() // 错误拼写:paswword,正确应为password
})

后端API读取的是data.password,这会导致服务器拿到undefined的密码值,直接引发查询失败。修正拼写后,数据就能正确传递到后端。

2. 添加错误回调用于调试

当前的$.ajax只处理了成功场景,没有错误处理逻辑,无法定位请求失败的具体原因。建议补充error回调:

$.ajax({
  type: 'POST',
  url: 'http://localhost:3002/login',
  contentType: 'application/json',
  data: JSON.stringify(finalData),
  success: (data) => {
    console.log(data)
  },
  error: (xhr, status, error) => {
    console.error('请求失败:', status, error);
    console.error('响应内容:', xhr.responseText);
  }
});

3. 验证表单元素ID匹配

确认前端表单中,用户名输入框的id确实是name,密码输入框的id确实是surname——如果实际元素id和代码中的选择器不匹配,会导致无法获取正确的表单值。

4. 调整Express中间件顺序

你的服务器配置中,app.use(express.raw())放在了JSON解析中间件之后,可能干扰JSON格式请求的解析。建议调整中间件顺序,或直接移除不需要的express.raw():

// 调整后的中间件顺序
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// app.use(express.raw()); // 若无需处理raw格式请求可移除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:20:24