gpt4 book ai didi

javascript - REACT 获取发布请求

转载 作者:IT老高 更新时间:2023-10-28 13:26:51 28 4
gpt4 key购买 nike

我在路由发布请求时遇到问题我需要构建注册表并将输入从表单发布到 mongodb我在服务器端制作了路由器和发布路由,它工作正常(当我使用 postman 时)

//form为必填模型​

router.route('/').post(function(req,res,next){
res.send(req.body)
form.create(
{"first_name": req.body.first_name,
"last_name": req.body.last_name
})
.then(function(data){
res.send(data);
console.log(data);
}).catch(function(err){console.log(err)});
});

但我需要从客户端启动它,而不是 postman 。我在这里迷路了。我可以这样做,但是当我添加 onSubmit 操作时它不起作用。而且我需要使用新功能来触发另一件事而不重定向到另一个页面。如何将 this.refs.first_name.value 传递给 body 以便我可以使用 fetch 函数?下面是 react 组件

添加了这个 JavaScript/JSON 片段

export default class Form extends React.Component {
constructor(props){
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit(event){
event.preventDefault();
console.log(this.refs.first_name.value);
fetch('/', {
method: 'post',
body: {
"first_name": this.refs.first_name.value
}
});
};
render () {
return (

<div id="signup">
<form onSubmit={this.handleSubmit}>
<input ref="first_name" placeholder="First Name" type="text" name="first_name"/><br />
<input placeholder="Last Name" type="text" name="last_name"/><br />
<button type="Submit">Start</button>
</form>

</div>

)
}
}

最佳答案

我猜您使用 ref 的方式已被弃用。试试下面看看你有没有运气。

export default class Form extends React.Component {
constructor(props){
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
}

handleSubmit(event){
event.preventDefault();
fetch('/', {
method: 'post',
headers: {'Content-Type':'application/json'},
body: {
"first_name": this.firstName.value
}
});
};

render () {
return (

<div id="signup">
<form onSubmit={this.handleSubmit}>
<input ref={(ref) => {this.firstName = ref}} placeholder="First Name" type="text" name="first_name"/><br />
<input ref={(ref) => {this.lastName = ref}} placeholder="Last Name" type="text" name="last_name"/><br />
<button type="Submit">Start</button>
</form>

</div>

)
}
}

这里是 link对有关 refs

的文档使用react

关于javascript - REACT 获取发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44996357/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com