Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试传递表单数据时的jquery ajax匿名函数_Jquery_Ajax_Django_File Upload - Fatal编程技术网

尝试传递表单数据时的jquery ajax匿名函数

尝试传递表单数据时的jquery ajax匿名函数,jquery,ajax,django,file-upload,Jquery,Ajax,Django,File Upload,我试图通过jquery ajax传递一个输入文件字段,我在chrome inspector控制台中得到一个匿名函数,它说这是因为我的脚本中有一行代码: $.ajax{ 这是我在完成任务后运行的代码 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> $("#sendCoverImageForm").click(function(e){

我试图通过jquery ajax传递一个输入文件字段,我在chrome inspector控制台中得到一个匿名函数,它说这是因为我的脚本中有一行代码: $.ajax{

这是我在完成任务后运行的代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

 $("#sendCoverImageForm").click(function(e){
          e.preventDefault()
          var mForm = $("#sendFormOne").serialize()
          $.ajax({
              type: "POST",
              url: "{% url 'ajax_coverimage' %}",
              data: mForm,
              success: function(data){  
                console.log(data)
                 $("#CoverImageModal").modal("hide");
              },
              error: function(data){
                var obj = data.responseJSON
                $("#modalMessage").html("<p style='color:red;'>" + obj + "</p>")
              },
           });
        });
如果我在

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
在控制台里我得到 未捕获引用错误:$未定义-与脚本上的顶行相关。然后我运行脚本,它工作并将文件放入我的模型中,但页面在DOM而不是控制台中呈现成功

我是jquery的noob,所以我很乐意接受任何帮助!

美元相当于jquery对象jquery,在这两种情况下,它都将处理jquery函数作用域中括号之间的语句。 这解释了为什么脚本在包含jQuery src之前会引发未捕获的引用错误,因为$sign尚未定义

正如穆萨所说,你应该使用FormData对象,但你应该记住,在IE中,它只受IE10+的支持,但是你可以使用插件来支持旧浏览器,因为你将要编写大量代码来支持它们,这对刚开始使用JavaScript的人来说是不愉快的,但你应该在以后学习如何去做例如ee

这里有一个使用FormData的方法,不要介意PHP。
希望这能有所帮助!

控制台上显示'POST 400 BAD REQUESTjquery.min.js:4 n.ajaxTransport.k.cors.a.crossDomain.sendjquery.min.js:4 n.extend.ajaxindex:579 anonymous functionjquery.min.js:3 n.event.dispatchjquery.min.js:3 n.event.add.r.handle','您无法上载包含数据的文件。序列化您必须使用FormData对象。数据重新发送应该是JSON格式的。你从哪里得到的?我想这有点误导,我会改变它。