-2
無法發送數據到服務器。在控制檯部分的反應它顯示數據發送。但在控制檯的服務器部分,它只顯示{}。什麼我面臨無法發送數據到服務器使用反應和節點js
的問題,這是我的反應部分
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));
})
看起來好像你還沒有正確設置'body-parser'。 做這個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){'並且讓我們知道你是否看到了正確的響應 –
在我的控制檯窗口顯示未定義,並且這個{} –
您可以上傳您的'server/index/app.js'代碼,以便我們可以檢查,還有你安裝了'body-parser' ..?我假設你有。 –