Отправка данных на Express из React-Native не работает - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь отправить данные на мой Express сервер из моего приложения React-Native с помощью запроса POST, но req.body остается пустым (чтобы позже можно было сохранить его в моей базе данных MySql). Тем не менее, мне удается восстановить мои данные и отобразить их с помощью запроса GET.

Когда я запускаю свой запрос POST, у меня есть это в моем терминале:

Go to http://localhost:3000/users so you can see the data.
req.body :  {}
Connected to bdd
1 record inserted, result :  OkPacket {
  fieldCount: 0,
  affectedRows: 1,
  insertId: 71,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}

Мой реагирующий код:

fetch('http://localhost:3000/newuser', {
        method : 'POST',
        mode : 'no-cors',
        headers : {
            'Accept' : 'application/json',
            'Content-Type' : 'application/json',
        },
        body : JSON.stringify({
            username : 'test',
        })
    })  .then((response) => response.json())
        .catch((error) => {
            console.error(error);
        });

Мой сервер узлов:

const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const cors = require('cors');

const connection = mysql.createPool({
    host : 'localhost',
    user : 'root',
    password : '',
    database : 'react'
});

// Starting our app.
const app = express();

app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.get('/users', function (req, res) {
    ...
});

app.post('/newuser', function (req, res) {
    // console.clear()
    console.log("req.body : ", req.body)
    let username = req.body.username;

    connection.getConnection(function (err) {
        if (err) throw new err;
        console.log("Connected to bdd");

        const sql = "INSERT INTO users(username) VALUES ('" + username + "')";
        connection.query(sql, function (err, result) {
            if (err) throw err;

            console.log("1 record inserted, result : ", result);
            res.send('POST request')
        });
    });
})

// Starting our server.
app.listen(3000, () => {
    console.log('Go to http://localhost:3000/users so you can see the data.');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...