![](/img/trans.png)
[英]Axios onDownloadProgress (on get method) gets called only once and setTimeout in callback never gets called
[英]axios method never gets called upon form submission in React
我有一个接受要上传的文件的表单,但是如果我将type="submit"
属性添加到我的“上传”按钮,handleSubmit 中的handleSubmit
方法永远不会被调用,但是如果我删除type="submit"
属性和将按钮视为简单的onClick()
操作,axios 方法会正常调用。 我应该如何解决这个问题? 我也在使用 react-bootstrap。 编辑:按钮附在表单上,为简单起见,我没有放代码
handleSubmit = (e) => {
const data = new FormData();
data.append("file", this.state.selectedFile);
axios
.post("some/path", data, {})
.then((response) => {
console.log("response = " + response);
})
.catch((error) => {
console.log("failed response" + error.response);
});
console.log("file submitted");
};
// code for a form, omiited for simplicity
<Button onClick={this.handleSubmit} type="submit" variant="success" size="md">
Upload
</Button>{" "}
你选择一个或另一个。 有type=submit
试图找到一个表单来为你提交,但你已经有一个点击处理程序。 同样,你可以用任何一种方式处理它,但由于你已经有一个点击处理程序,只需保留它并去掉type=submit
。
在这种情况下,您可能需要在 Form 标签上添加 onsubmit。 该按钮(如果作为提交类型存在)会触发表单的提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.