【问题标题】:How to create form post using React?如何使用 React 创建表单帖子?
【发布时间】:2020-05-19 22:50:06
【问题描述】:

用户在输入字段中输入他的电子邮件,我想收到

FormData { "email": "test@gmail.com" }

在服务器上。您可以使用任何服务器。 UPD:我试过这样做

class MyForm extends React.Component {
  constructor() {
    super();
    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleSubmit(event) {
    event.preventDefault();
    const data = new FormData(event.target);

    fetch('/api/form-submit-url', {
      method: 'POST',
      body: data,
    });
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <label htmlFor="username">Enter username</label>
        <input id="username" name="username" type="text" />

        <label htmlFor="email">Enter your email</label>
        <input id="email" name="email" type="email" />

        <label htmlFor="birthdate">Enter your birth date</label>
        <input id="birthdate" name="birthdate" type="text" />

        <button>Send data!</button>
      </form>
    );
  }
}

这不是我的代码,我是 react.js 的新手。问题是:我在哪里可以看到这种格式的数据?

【问题讨论】:

  • 有很多关于它的教程......你的问题太宽泛了。分享您的尝试...
  • 我更新了我的问题
  • 关于这个主题的例子有很多,这就是其中之一:developer.okta.com/blog/2018/07/19/…
  • 这能回答你的问题吗? How to send form data with react
  • 您需要在服务器上查看发布的数据...或者在浏览器开发者工具的网络选项卡中。

标签: javascript reactjs


【解决方案1】:

您可以使用axios 以您想要的格式将此数据发布到服务器,

var bodyFormData = new FormData();
bodyFormData.set('userName', 'test@gmail.com');
axios({
    method: 'post',
    url: 'myurl',
    data: bodyFormData,
    headers: {'Content-Type': 'multipart/form-data' }
    })
    .then(function (response) {
        //handle success
        console.log(response);
    })
    .catch(function (response) {
        //handle error
        console.log(response);
    });

我建议为此使用 axios,但您也可以使用 fetch 来完成,看看 this 答案,它解释得很清楚。

【讨论】:

  • 谢谢!你能推荐什么服务器?我可以使用json占位符吗?
  • 用例是什么,如果你能告诉我,我可以推荐你的服务器?
  • 用户发送邮件订阅
  • Json placeholder(https://jsonplaceholder.typicode.com/) 可用于伪造数据以测试您的呼叫是否通过,如果您希望它工作,您必须使用真正的后端。希望这个答案!
猜你喜欢
  • 2012-06-17
  • 1970-01-01
  • 2018-12-04
  • 2022-12-07
  • 2022-12-15
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 2022-01-02
相关资源
最近更新 更多