【发布时间】:2020-07-08 20:09:30
【问题描述】:
我正在编写一个 React 应用程序,当尝试获取登录表单数据以发送到后端时,它是空的。
// Login component class
submitLoginForm = (event) => {
event.preventDefault();
const target = event.target;
const data = new FormData(target);
// data is empty, but I need it to contain the form data.
// ...
}
render() {
return (
<div>
<form onSubmit={this.submitLoginForm}>
<input type="hidden" name="csrfmiddlewaretoken" value={Cookies.get("csrftoken")} />
<label htmlFor="username">Username: </label>
<input id="username" name="username" type="text" />
<label htmlFor="password">Password: </label>
<input id="password" name="password" type="password" />
{this.state.errorText}
<input type="submit" value="submit" />
</form>
</div>
);
}
编辑:虽然 FormData 对象确实具有表单数据,但将其传递给 fetch 请求无法传递任何数据,而是仅发送一个空的 JSON 对象。 JSON.stringify 也会出现同样的结果。如何将数据作为 JSON 对象获取?
【问题讨论】:
-
您必须为每个文本字段写入更改属性,并在 onchnage 函数中为各自的状态分配值。
标签: javascript reactjs forms