我想在django中使用ajax保存后端的文件和注释。对于文件我遇到了麻烦。 如何将文件发送到后端。 笔记我正在查看 但我无法发送文件进行查看。
<form class="horizontal-form" role="form" action="." method="post" enctype="multipart/form-data" id="nofilesforms">
<input type="file" name="image_file" id="image_file_data">
<textarea class="form-control notesdata" data-stylesheet-url="" name="notes"></textarea>
<button class="btn btn-primary" id="filesandnotes" type="button">Submit</button>
</form>
$(document).on('click','#filesandnotes',function(){
var notes = $('.notesdata').val();
var path = $('input[type=file][name=image_file]').val();
alert(path);
var data = {
notes:notes,
path:path
};
$.ajax({
url:"/cbs/msw1/",
type: "POST",
data: data,
success: function (response) {
},
error: function () {
}
});
});
任何人都可以为此指导我。 非常感谢
答案 0 :(得分:0)
首先你必须绑定表单本身的submit
而不是click
事件,阻止默认提交,获取文件数据(文件名,文件大小,blob等),这里是对File
API link,文件输入也可以包含多个文件,因此您必须循环Files
数组。之后,您向Django后端发送一个AJAX请求。检查它并做任何你想做的事。您也可以使用JS来检查您的表单,但始终检查后端!
答案 1 :(得分:0)
你最好试试这个:
$('#nofilesforms').submit(function(event) { ... });
此外,您可能希望使用jQuery文件上载插件:https://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronously