使用JQuery成功上传表单到Django App
Handling Form Upload Success with JQuery to Django App
如何使用JQuery提交一个表单,上传一个文件到Django应用程序,以便我可以捕获"success"处理程序?
我可以上传一个文件,我的Django应用程序使用一个常规的表单提交,但我被重定向到一个新的POST完成后(自然)。
生成页面的Djangoviews.py
代码片段是:
def adminImportView(request):
"""
"""
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_file(request.FILES['file'])
return HttpResponseRedirect(reverse('lobbyVisitorLog.view.adminView'))
else:
form = UploadFileForm()
return render(request, 'utils/importDatabase.html', {'form': form});
当没有表单被提交时,生成一个表单块:
<form id="dbImportForm" action="/visitorLog/admin/import/" enctype="multipart/form-data" method="post">
{% csrf_token %}
<div class="row">
<div class="span7">
<span class="btn btn-success fileinput-button">
<i class="icon-plus"></i>
<span>Browse...</span>
{{ form.file }}
</span>
<button type="submit" class="btn btn-primary start" id="buttonImport">
<i class="icon-upload"></i>
<span>Start Import</span>
</button>
</div>
</div>
</form>
但是,当这个过程完成时,我想避免加载一个新的页面。如果我将button
更改为一个简单的链接并使用JQuery绑定它,我的表单验证就会失败。我在Javascript块的最新尝试是:
$('#buttonImport').click(function()
{
if ($('#id_file').val() == '')
{
alert("empty file, can't submit!");
return false;
}
$.post(
'/visitorLog/admin/import/',
$('#dbImportForm').serialize(),
function(data)
{
alert("all done!");
},
"json"
);
})
我如何调整我的JQuery POST调用正确验证服务器端的表单?
使用jQuery表单插件
支持AJAX文件上传。
没有表单插件的另一个解决方案是这里如何在jQuery中发送ajax请求的FormData对象?但在浏览器中支持有限
相关文章:
- 在javascript点击事件中调用django-urls
- Django: AJAX + CSRF POST gives 403
- 我的django模板布尔变量是't在javascript中按预期工作
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- django模板没有在AJAX发布后重新加载
- jsi18n-django.catogue没有'不包含任何已翻译的字符串(但是djangojs.mo包含)
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 设计Django中当前导航菜单项的样式
- Django可以'不能在设置中导入ckeditor,但可以在shell中导入
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- Django'支持Javascript文件中的翻译
- 2012年12月迁移在App Dashboard中不可用
- Django导航:扩展与innerHTML
- 为什么datetime.strptime在使用Django运行时会抛出错误
- django出现神秘的javascript错误
- 如何从django中的url解析javascript字符串
- 如何使用app和secret进行安全的解析初始化
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- django app JavaScript getElementById not working
- 使用JQuery成功上传表单到Django App