Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用axios进行post请求和获取响应_Reactjs_Axios - Fatal编程技术网

Reactjs 使用axios进行post请求和获取响应

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

从axios响应获取数据时,console.logged返回未定义的值 我尝试了很多方法,但反应总是不明确 这是用户数据 const userdatas=[{id:1,名字:“Leanne”,姓氏:“Gram”,密码:“123”,电话:“9474211442”}**

客户

]

快车

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);