【发布时间】:2018-09-17 23:42:28
【问题描述】:
我正在尝试使用 Ajax 提交 HTML Form,但我没有收到任何成功或失败的警报。
index.html
<form method="post" class="needs-validation" enctype="multipart/form-data" action="/upload/" id="fupload">
<div class="custom-file">
<input type="file" class="custom-file-input" id="data_files" name="data_files" multiple required>
<label class="custom-file-label" for="data_files">Choose files</label>
</div>
<button type="submit">Upload files</button>
</form>
<script type="text/javascript">
var frm = $('#fupload');
frm.submit(function () {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
alert('Form Submitted');
},
error: function(data) {
alert('Form submission failed');
}
});
return false;
});
views.py
@csrf_exempt
def upload(request):
if request.method == 'POST':
return HttpResponse()
任何猜测为什么它不起作用
【问题讨论】:
-
尝试在 AJAX 函数中删除
return false;看看是否有效? -
我认为问题在于
action='/upload/',它将在urls.py中寻找upload。您需要它来运行 javascript,但它永远不会到达那里。