Реакция формы POST, выборка, но неопределенные данные - PullRequest
0 голосов
/ 25 апреля 2020

каждый, это мой первый вопрос, извините за плохой вопрос, но я новичок ie в РЕАКТЕ. Я пытаюсь сам, но не работаю

это мой пост из 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]

Что происходит? Почему сервер не может найти данные, когда я публикую данные на сервере. это показывает неопределенный прочь

1 Ответ

0 голосов
/ 25 апреля 2020

В функции connect вы не получаете никаких аргументов для email или для password. Вот причина, почему это не определено. Вы можете либо передать email и password в качестве аргументов, либо просто для отладки, вы можете жестко закодировать их в самой переменной просто для проверки ответа API следующим образом.

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

Если вы принимая email и password в качестве аргументов функции, вы можете сделать это следующим образом.

const connect = (email,password) =>{

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

/* rest of the code */

}
...