Reactjs 使用axios进行post请求和获取响应
从axios响应获取数据时,console.logged返回未定义的值 我尝试了很多方法,但反应总是不明确 这是用户数据 const userdatas=[{id:1,名字:“Leanne”,姓氏:“Gram”,密码:“123”,电话:“9474211442”}** 客户 ] 快车Reactjs 使用axios进行post请求和获取响应,reactjs,axios,Reactjs,Axios,从axios响应获取数据时,console.logged返回未定义的值 我尝试了很多方法,但反应总是不明确 这是用户数据 const userdatas=[{id:1,名字:“Leanne”,姓氏:“Gram”,密码:“123”,电话:“9474211442”}** 客户 ] 快车 constuserdatas=[{id:1,名字:“Leanne”,姓氏:“Gram”,密码:“123”,电话:“9474211442”}** app.post('/login',(req,res)=>{ 让logi
constuserdatas=[{id:1,名字:“Leanne”,姓氏:“Gram”,密码:“123”,电话:“9474211442”}**
app.post('/login',(req,res)=>{
让logindetail={firstname:req.body.firstname,
密码:req.body.password}
logindetail.firstname=logindetail.firstname.replace(/['“]+/g,”)
logindetail.password=logindetail.password.replace(/[''“]+/g'')
var count=Object.keys(userdatas).length;
对于(var i=0;i在Express
部分中,userdatas
似乎是一个对象,但您试图在res.json
调用中像数组一样查找它。您需要将它包装在对象中。键
就像您设置计数值时那样。首先,userdatas
是一个对象,您需要无法像在数组中一样访问其值。其次,是否确定循环中的if条件满足一次?因为不能对单个请求有多个响应。在循环时在变量中构建单个响应体。循环完成后发送
for (var i = 0; i < count; i++) {
if (
logindetail.firstname === userdatas[i].firstname &&
logindetail.password === userdatas[i].password
) {
res.json(userdatas[i]);
}
}
for(变量i=0;i
把它改成这样
let result = [];
for (var i = 0; i < count; i++) {
if (***your corrected condition***) {
result = userdatas[i];
}
}
res.send(result);
let result=[];
对于(变量i=0;i
鉴于您在后端接收到的内容似乎不正确,我将重新访问前端请求。嗯,您应该只对要包装的整个对象进行一次JSON.stringify调用,而不是对每个道具单独调用。尝试一下,然后查看后端接收到的内容。当我控制台时。它只返回对象.keys它只返回了key['id','firstname','lastname','password','phone']啊,好的,我会编辑我的答案。我对你的userdatas结构做了一个错误的假设。请发布一个你的userdatas对象结构的示例,以便我可以提供帮助。这是因为我从客户端传递的数据类型吗..我已经发布了userdatas
for (var i = 0; i < count; i++) {
if (
logindetail.firstname === userdatas[i].firstname &&
logindetail.password === userdatas[i].password
) {
res.json(userdatas[i]);
}
}
let result = [];
for (var i = 0; i < count; i++) {
if (***your corrected condition***) {
result = userdatas[i];
}
}
res.send(result);