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

时间:2017-01-30 06:43:11

标签: node.js reactjs

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

这是我的反应部分

  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';
var urlencodedParser = 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;
  // databaseInterface.createStudent("srikanthgec", 11);
server.post('/create',urlencodedParser,function(req,res){
var response = {
  value : req.body.value
      //values : req.body.lastName
};
console.log(value);
  console.log( JSON.stringify(response));
  res.send(JSON.stringify(response));
})

1 个答案:

答案 0 :(得分:0)

尝试将服务器代码更改为此类内容......

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