【发布时间】:2019-08-29 18:31:37
【问题描述】:
我有一个包含文件的 HTML 表单。我希望能够在不刷新的情况下捕捉表单帖子的响应并根据需要编辑我的页面。
为此,我使用了一个为我提交表单的 Ajax 调用。但是,每当我调用 new FormData(form) 时,它都会提交表单,而不仅仅是获取表单数据。
这里是 HTML 表单
<form asp-controller="Application" asp-action="UploadDocument" enctype="multipart/form-data">
<input id="modalDocId" name="documentId" type="hidden" />
<input id="modalAppId" name="applicationId" type="hidden" />
<div class="modal-body">
<div class="modal-display">
<input name="documentFile" type="file" class="dropify pa-20" data-height="250" data-allowed-file-extensions="pdf jpg jpeg png" accept=".pdf,.jpg,.jpeg,.png" />
</div>
</div>
<div class="text-center pb-10">
<button type="submit" class="btn btn-sm btn-primary">Submit</button>
</div>
</form>
还有 Ajax 调用
$(document).on('submit', 'form', function () {
var form = $(this);
var formData = new FormData(form);
$.ajax({
type: 'POST',
enctype: 'multipart/form-data',
url: '/Application/UploadDocument',
data: formData,
cache: false,
success: function (data) {
if (data == 1) {
debugger;
}
else {
debugger;
}
return false;
}
});
return false;
})
它永远不会到达 Ajax 调用,在 new FormData(form) 提交表单并重定向到结果,它只是一个 1 或 0。
我希望通过 Ajax 提交表单,因此页面不会重定向,但我可以根据结果进行操作。
【问题讨论】:
标签: javascript jquery html ajax razor