2017-01-30 6 views
-2

サーバーにデータを送信できません。コンソールの反応部分に送信されたデータが表示されています。コンソールのサーバー部分には{}しか表示されません。私は反応とノードjを使用してサーバーにデータを送信することができません

これを直面しています問題は私の一部

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

'body-parser'を正しく設定していないようです。このapp.use(bodyParser.urlencoded({extended:true})) 'を追加してから、' var appParser = require( 'body-parser'); 'を実行してから' var app =この 'server.post( '/ create'、urlencodedParser、function(req、res){'〜 'server.post( '/ create'、function(req、res){' 。 –

+0

私のコンソールウィンドウには未定義で表示されています。この{} –

+0

は、 'server/index/app.js'コードをアップロードして確認できます。' body-parser'もインストールしましたか? 。 –

答えて

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)); 
}) 
関連する問題