【问题标题】:fetch api doesn't send datafetch api 不发送数据
【发布时间】:2018-02-11 22:18:01
【问题描述】:

当它到达服务器时,我的客户端应用程序不发送数据并显示undefined。我对节点和整体获取 api 相当陌生。当我点击前端的一个按钮时,它应该触发signin() & send username('robot') & password('cookies') 但它不起作用并且在终端中输出显示未定义。

服务器

var database = [
  {
    name: 'robot',
    password: 'cookies'
  }
];

app.post('/signin',(req,res)=>{
   let username = req.body.username;
   let password = req.body.password;

   database.map((user,i) =>{
      if (username === database[i].name &&
          password === database[i].password) {
            res.json('success');
      }else{res.json("Login fail");console.log(req.body.username+":user:",req.body.username+":pass:");
      }
   });
});

前端

signIn() {
   console.log('SignIn function called');console.log("Password: ",this.state.password);console.log("Username: ",this.state.username);

   fetch('http://localhost:3000/signin',{
      method:'post',
      header:{'Content-Type':'application/json'},
      body: JSON.stringify({
         username:this.state.username,
         password:this.state.password
      })
   })
   .then(r => r.json())
   .then(d => {
      if (d === 'success'){
        console.log("Login succesfull");
      }else{
        console.log("Failed");
      }
   })
}

【问题讨论】:

  • 我已经在我的代码中使用了它
  • 好像你在FRONT-END 中也粘贴了SERVER 代码。
  • 对不起,我只是编辑一下,请看我的新代码。

标签: javascript node.js fetch-api


【解决方案1】:

您在前端代码中输入错误。 fetch api 有 headers 字段,而不是 header

fetch('http://localhost:3000/signin',{
   // other code
   headers: {
     'Content-Type':'application/json'
   },
})

【讨论】:

  • 仍然没有运气。
  • 终于,它工作了,伙计。非常感谢您的帮助。谢谢
  • 很高兴为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 2020-10-30
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 2019-08-10
  • 2021-05-17
  • 1970-01-01
相关资源
最近更新 更多