我刚刚构建了一个应用程序,我希望能够将数据从OnSubmit函数发送到快速后端并将其存储在那里。谢谢!
请忽略: 看起来您的帖子大部分是代码;请添加更多详细信息。 看起来您的帖子大部分是代码;请添加更多详细信息。 看起来您的帖子大部分是代码;请添加更多详细信息。 看起来您的帖子大部分是代码;请添加更多详细信息。 看起来您的帖子大部分是代码;请添加更多详细信息。 看起来您的帖子大部分是代码;请添加更多详细信息。
这是我的服务器代码:
const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
app.get('/home', function (req, res) {
return res.send('home');
});
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.listen(process.env.PORT || 8080);
这是我的onsubmit函数
import React, { Component } from 'react';
import './App.css';
import PageOne from './Components/PageOne';
import PageTwo from './Components/PageTwo';
import PageThree from './Components/PageThree';
import PageFour from './Components/PageFour';
import PageFive from './Components/PageFive';
import PageSix from './Components/PageSix';
import {Button, } from 'semantic-ui-react'
import axios from 'axios';
class App extends Component {
constructor(props){
super(props)
this.state={
generalDetails: "Text",
fName: "Text",
mName: "Text",
LName: "Text",
}
this.onContentChange = this.onContentChange.bind(this);
this.onSubmitForm = this.onSubmitForm.bind(this);
}
render() {
return (
<div className="App">
<PageOne handleChange={this.onContentChange} />
<PageTwo handleChange={this.onContentChange} />
<PageThree handleChange={this.onContentChange} />
<PageFour handleChange={this.onContentChange} />
<PageFive handleChange={this.onContentChange}/>
<PageSix handleChange={this.onContentChange} />
<Button onClick={this.onSubmitForm} >
Submit Form
</Button>
<br/>
<br/>
</div>
);
}
onSubmitForm(e){
e.preventDefault();
console.log(
//start of page one
'* general Details: ' ,this.state.generalDetails,
'* First Name: ', this.state.fName,
'* Middle Name: ', this.state.mName,
'* Last Name: ', this.state.lName,
);
}
//end
onContentChange(fieldname, data){
console.log('On Content Change', data);
this.setState({
[fieldname]: data
});
}
}
答案 0 :(得分:0)
选择一个HTTP客户端,我推荐axios
以便于使用。
您在react client上的代码应如下所示:
const respone = axios.post('http://localhost:8080/<your_endpoint>', {
generalDetail: this.state.generalDetails,
firstName: this.state.firstName,
middleName: this.state.middleName,
lastName: this.state.lastName
})
然后,您解析响应并获取数据,这是promise对象。
答案 1 :(得分:0)
在这种情况下,您可以使用axios
示例
saveData = e => {
e.preventDefault();
let data = {
generalDetail: this.state.generalDetails,
firstName: this.state.firstName,
middleName: this.state.middleName,
lastName: this.state.lastName
};
axios.post("http://localhost:8080/endpoint", data).then(() => {
//do something
}).catch(() => {
console.log("Something went wrong. Plase try again later");
});
}
将端点更改为您的api端点
如果需要帮助,请告诉我