小编典典

REACT获取帖子请求

reactjs

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

//表格是必填模型

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)});

});

但是我需要从客户端而不是邮递员处将其解雇。在这里我迷路了。我可以做到,但是当我添加onSubmit动作时,它不起作用。而且我需要使用新功能来触发另一件事,而无需重定向到另一页面。如何将this.refs.first_name.value传递给主体,以便我可以使用提取功能?低于反应成分

添加了此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>

​

  )

 }

}

阅读 243

收藏
2020-07-22

共1个答案

小编典典

我想您的使用方式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>

​

  )

 }

}

这是一个有关文档的链接refs

2020-07-22