繁体   English   中英

反应 POST 表单获取但未定义的数据

[英]React POST form Fetch but Undefined data

大家,这是我的第一个问题,对不起这个不好的问题,但我是 REACT 的新手。 我正在自己尝试但不工作

这是我的 fetch 帖子

const connect = () =>{
var data = {
  'email':email,
  'password':password
}
console.log(data)
    fetch('http://localhost:8088/sign-up', {
        method: 'POST',
        mode:"no-cors",
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify(data)
    })
        .then((res) => { res.json() })
        .then((data) => {
            console.log("Completed")
        })
        .catch((err) => {
            console.log(err);
        })

}

这是我的服务器我不知道为什么它不能从反应中读取数据

app.post('/sign-up', (req, res) => {
let name = req.body.name;
let personal_id = req.body.personal_id;//Using Personal ID for username
let email = req.body.email;
let password = req.body.password;
let birthday = req.body.birthday;
let sex = req.body.sex;
let telephone = req.body.telephone;
let job = req.body.job;
let addressing = req.body.addressing;
let num_live = req.body.num_live;
let saltRounds = 10;//Hashing setup
console.log(req.body)
//Hashing process
bcrypt.hash(password, saltRounds, (err, password) => {
    if (err) {
        return console.log(err.message);
    }

    let obj = {
        personal_id, password, name, email, birthday, sex, telephone, job, addressing, num_live,
        address: { $ref: 'address', $id: req.session.address_id }
    }
    db.collection('users').insertOne(obj, (err, result) => {
        if (err) {
            return res.send(err);
        }
        return res.send('Sign up complete');
    });
});

});

结果[帖子结果][3]

怎么了? 为什么我将数据发布到服务器时服务器找不到数据。 它显示未定义

connect function 中,您没有收到emailpassword的任何 arguments。 这就是它未定义的原因。 您可以将emailpassword作为 arguments 传递,或者只是为了调试,您可以在变量本身中硬编码它们,以测试API响应。

const data = {
  email:"test@test.com",
  password:"123"
}

如果您正在输入emailpassword为 function arguments,您可以这样做。

const connect = (email,password) =>{

const data = {
  email:email,
  password:password
}

/* rest of the code */

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM