Node.js 无法使用react和node js将数据发送到服务器

Node.js 无法使用react和node js将数据发送到服务器,node.js,reactjs,Node.js,Reactjs,无法将数据发送到服务器。在react的控制台部分,它显示已发送的数据。但在控制台的服务器部分,它只显示{}。我面临的问题是什么 这是我的反应部分 import React from 'react'; import axios from 'axios'; class Createstudent extends React.Component { constructor(props) { super(props); this.state

无法将数据发送到服务器。在react的控制台部分,它显示已发送的数据。但在控制台的服务器部分,它只显示{}。我面临的问题是什么

这是我的反应部分

  import React from 'react';
    import axios from 'axios';
    class Createstudent extends React.Component {
      constructor(props) {
        super(props);
        this.state = {value: 'sri'};

        this.handleChange = this.handleChange.bind(this);
      this.handleSubmit = this.handleSubmit.bind(this);
      }

      handleChange(event) {
        this.setState({value: event.target.value});
      }

      handleSubmit(event) {
        alert(this.state.value);
        axios.post('http://localhost:8080/create',{value:this.state.value})
        .then(function(response){
          console.log("datasent");
        })

      }



      render() {
        return (
          <form onSubmit={this.handleSubmit}>
            <label>
              Name:
              <input type="text" value={this.state.value} onChange={this.handleChange} />
            </label>
            <input type="submit" value="Submit" />
          </form>
        );
      }
    }

    export default Createstudent;

尝试将服务器代码更改为以下内容

import config from './config';
import express from 'express';
const server = express();
import databaseInterface from './mongodbInterface';
import bodyParser from 'body-parser';


server.use( bodyParser.urlencoded({ extended: true }) );
server.set('view engine', 'ejs');

server.get('/', (req, res) => {
    res.render('index', {
        content: '...'
    })
});

server.get('/',function(req,res) {
    res.send("hello this is data");
    console.log("datasent");
})

var value; // why?
// databaseInterface.createStudent("srikanthgec", 11);
server.post('/create', function(req,res){
    console.log('req.body',req.body); // remove it once you see the correct data.
    var response = {
        value : req.body.value
      //values : req.body.lastName
    };
    console.log(value);
    console.log( JSON.stringify(response));
    res.send(JSON.stringify(response));
})

您似乎没有正确设置
主体解析器。这样做
var bodyParser=require('body-parser')并在设置
var app=express()
后添加此
app.use(bodyParser.urlencoded({extended:true}))
然后将此
server.post('/create',urlencodedParser,function(req,res){
更改为
server.post('/create',function(req,res){
并让我们知道您是否看到了正确的响应。在我的控制台窗口中,它显示未定义,此{}您可以上传您的
服务器/index/app.js
代码以便我们检查。您是否安装了
主体解析器
。?我想您已经安装了。
import config from './config';
import express from 'express';
const server = express();
import databaseInterface from './mongodbInterface';
import bodyParser from 'body-parser';


server.use( bodyParser.urlencoded({ extended: true }) );
server.set('view engine', 'ejs');

server.get('/', (req, res) => {
    res.render('index', {
        content: '...'
    })
});

server.get('/',function(req,res) {
    res.send("hello this is data");
    console.log("datasent");
})

var value; // why?
// databaseInterface.createStudent("srikanthgec", 11);
server.post('/create', function(req,res){
    console.log('req.body',req.body); // remove it once you see the correct data.
    var response = {
        value : req.body.value
      //values : req.body.lastName
    };
    console.log(value);
    console.log( JSON.stringify(response));
    res.send(JSON.stringify(response));
})