Node.js 无法使用react和node js将数据发送到服务器
无法将数据发送到服务器。在react的控制台部分,它显示已发送的数据。但在控制台的服务器部分,它只显示{}。我面临的问题是什么 这是我的反应部分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
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));
})