想要使用django中的ajax将文件保存到数据库中

时间:2014-10-23 06:24:47

标签: jquery ajax django

我想在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 () {
                                                        }
                                });
                            });

任何人都可以为此指导我。 非常感谢

2 个答案:

答案 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