我正在尝试使用 React 和 Nodes 制作注册表单,但收到了 404 回复。我认为他的问题出在我的 react 代码中。任何帮助或想法将非常感激!谢谢。
class Signup extends React.Component{
constructor (props){
super(props)
this.state={
email:'',
password:''
}
this.handleClick=this.handleClick.bind(this)
this.send=this.send.bind(this)
}
handleClick(elm){
this.setState({
[elm.target.name]: elm.target.value
})
}
send(){
event.preventDefault();
const logindata={
email:this.state.email,
password:this.state.password
}
axios.post('/signup', logindata )
.then(response=>response.data)
}
render(){
return (
<div>
<form>
<input type="email" placeholder="Email" value={this.state.email} name="email" onChange={this.handleClick}/>
<input type="password" placeholder="Password" value={this.state.password} name="password" onChange={this.handleClick}/>
<input onClick={this.send} type="submit"/>
</form>
</div>
)
}
}
后端 Node :
index.js
router.post('/signup', function(req,res,next){
User.create(req.body)
.then(function(user) {
res.send(user)
})
}
最佳答案
我认为问题在于您捕获了提交输入(按钮)的 onClick,但没有捕获表单的 onSubmit。如果您将 input[type='submit'] 的 onClick 替换为表单上的 onSubmit,则应该避免可能出现 404 错误的额外请求。
关于javascript - 使用 React 和 NodeJS 的注册表单 - 我的 axios 请求出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45483040/