FormData在React中提交表单时返回空数据

Wae*_*eez 1 javascript dom form-data dom-events reactjs

我正在尝试使用new FormData()构造函数在提交表单时获取表单数据键值对对象。但是它总是返回空数据。

我已经尝试event.persist()避免对事件池进行反应,但是没有任何效果


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

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

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

        <button>Send data!</button>
      </form>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我期望包含以下格式的表单数据的对象

{ "username": "Value" }

小智 7

我认为您需要通过循环来获取它。尝试这个

  var formData = new FormData(target);

   for (var [key, value] of formData.entries()) { 
   console.log(key, value);
  }
Run Code Online (Sandbox Code Playgroud)

希望它能工作。