React中Axios向SQLite提交数据时roles字段未插入问题
问题:React中Axios POST请求无法插入SQLite的roles字段
我在React中使用Axios发起注册POST请求,已收到200成功响应。除roles字段外,其余数据均正常插入SQLite数据库。SQLite中roles列类型为varchar,与email、password列类型完全一致,但该字段数据始终无法插入,请问可能的原因是什么?
前端代码示例
const onPost = async (event) => { event.preventDefault(); await axios .post("/data/users", { email: email, password: password, roles: "user", }) .then(function (response) { console.log(response); }); // submitLogin(email, password); };
SQLite数据表结构(截图描述)
数据表包含以下列:
- id:INTEGER类型,主键且自增
- email:VARCHAR类型
- password:VARCHAR类型
- roles:VARCHAR类型
可能的原因
- 后端插入逻辑遗漏roles字段:后端的SQL插入语句可能没包含
roles列,比如写成了INSERT INTO users(email, password) VALUES(?, ?),导致前端传的值无法写入数据库。 - 字段名不匹配:后端代码中使用的字段名和数据库列名不一致(比如后端用
role而数据库是roles),即使类型一致也无法正确映射。 - 后端参数过滤/拦截:后端的参数校验或处理逻辑里,可能把
roles字段过滤掉了,没有传递给数据库操作环节。 - 参数接收异常:可以检查后端是否正确接收到了
roles参数,比如是否因为参数解析问题导致roles值为undefined或null,最终插入数据库时使用了默认值。
内容的提问来源于stack exchange,提问作者lbs91
相关产品推荐
相关产品推荐

