request.body возвращается неопределенным - PullRequest
0 голосов
/ 08 января 2020

Итак, я передаю введенные пользователем данные в бэкэнд, но req.body возвращается неопределенным, и я не уверен, почему. Я заранее установил свое промежуточное программное обеспечение, но я все еще не определен. Я также проверил значение, отправляемое с помощью ax ios, и подтвердил его правильность.

app.use(Cors());
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}));

app.post('/signup', (req, res) => {
    //const { email } = req.body;
    console.log(req.body.email);
    if(!req.body.email) {
        console.log("No email, failed");
        return;
    }
    const data = {
        members: [
            {
                email_address: req.body.email,
                status: "subscribed"
            }
        ]
    }

    const postData = JSON.stringify(data);
    const options = {
        url: 'https://us4.api.mailchimp.com/3.0/lists/xxxxxx',
        method: 'POST',
        headers: {
            Authorization: 'xxxxxxx'
        },
        body : postData
    }

    request(options, (err, response, body) => {
            if(err) {
                console.log(err);
            } else {
                if(response.statusCode === 200) {

                    console.log("Success!");
                }else {

                    console.log("Error Accessing")
                    res.send("Error");
                }
            }       
        });
});

Вот мой метод сообщения ios post:

handleSubmit = e => {
        e.preventDefault();
        const { email } = this.state;
        axios
        .post('http://localhost:5000/signup', email)
        .then(() => console.log("Email Added"))
        .catch(err => {
            console.log(err);
        })
    };

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Моя проблема заключалась в том, что я не передавал электронную почту как объект, следовательно, объект возвращался пустым.

0 голосов
/ 08 января 2020

Вы подтвердили, что то, что отправляется с помощью ax ios (this.state.email), не является неопределенным?

Тот факт, что тело запроса возвращает неопределенные значения, указывает либо на неправильный ввод данных, либо на то, что запрос этих данных является недействительным.

Как выглядит весь req.body?

...