Node.js 从react前端和node express后端(corse和端点)传递数据时出现问题
我有一个问题,当我提交表单数据时,我收到一个404错误,说我的端点不在那里。(选项404(未找到)请在此处查看我的server.js文件。当数据传递到后端时,我希望从我的node express服务器发送电子邮件Node.js 从react前端和node express后端(corse和端点)传递数据时出现问题,node.js,reactjs,express,Node.js,Reactjs,Express,我有一个问题,当我提交表单数据时,我收到一个404错误,说我的端点不在那里。(选项404(未找到)请在此处查看我的server.js文件。当数据传递到后端时,我希望从我的node express服务器发送电子邮件 const express = require('express'); const bodyParser = require('body-parser') const path = require('path'); const app = express(); app.use(expr
const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
const cors = require('cors')
app.use(cors())
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",
gender: "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();
let data = {
generalDetail: this.state.generalDetails,
firstName: this.state.firstName,
middleName: this.state.middleName,
lastName: this.state.lastName
};
axios.post("http://localhost:8080/home", data).then(() => {
//do something
console.log('succesful!', this.state.generalDetails);
}).catch(() => {
console.log("Something went wrong");
});
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
});
}
}
import React,{Component}来自'React';
导入“/App.css”;
从“./Components/PageOne”导入PageOne;
从“./Components/PageTwo”导入PageTwo;
从“./Components/PageThree”导入PageThree;
从“./Components/PageFour”导入PageFour;
从“./Components/PageFive”导入PageFive;
从“./Components/PageSix”导入PageSix;
从“语义ui反应”导入{按钮,};
从“axios”导入axios;
类应用程序扩展组件{
建造师(道具){
超级(道具)
这个州={
一般细节:“文本”,
fName:“文本”,
mName:“文本”,
名称:“文本”,
性别:“文本”,
}
this.onContentChange=this.onContentChange.bind(this);
this.onSubmitForm=this.onSubmitForm.bind(this);
}
render(){
返回(
提交表格
);
}
电子表格(e){
e、 预防默认值();
让数据={
generalDetails:this.state.generalDetails,
名字:this.state.firstName,
middleName:this.state.middleName,
lastName:this.state.lastName
};
axios.post(“http://localhost:8080/home,数据)。然后(()=>{
//做点什么
console.log('successful!',this.state.generalDetails);
}).catch(()=>{
log(“出了问题”);
});
console.log(
//第一页的开头
“*一般详细信息:”,this.state.generalDetails,
“*名字:”,this.state.fName,
“*中间名:”,this.state.mName,
“*姓氏:”,this.state.lName,
);
}
//结束
onContentChange(字段名、数据){
console.log('内容更改',数据);
这是我的国家({
[字段名]:数据
});
}
}
您正在执行的是axios.post(“http://localhost:8080/home“
但您的express服务器正在查找get请求。请将其更改为
app.post
process.env.PORT
您没有提供任何其他端口作为输入,对吗?您编写的方法类型错误。请尝试将其从get切换为post as app.post(),并在从前端调用API时传递数据时处理数据。