到Node Express服务器的本机发布数据不起作用

时间:2020-03-28 16:42:21

标签: node.js react-native express

我正在尝试通过我的本地应用程序将其数据发布到我的Node Express服务器的bdd中,但是它不起作用,req.body为空。 (顺便说一下,获取数据并显示在我的本机应用程序上。)

在我的应用中执行请求时,我在服务器终端中收到了这个请求:

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.');
});

0 个答案:

没有答案