利用formdata实现文件上传 可是为什么获取到的form是空的

发布于 2022-09-03 23:30:36 字数 1148 浏览 17 评论 0

html代码
<form id='add'>
    <input type="text" name='book'></input>
    <input type="file" name='source'></input>
    <input type="submit" value="提交"/>
</form>
jq代码
$('#add').submit(function(){
            
            var data = new FormData($('#add')[0]);  
            console.log(data);
            $.ajax({  
                url: "http://"+b[2]+'/'+b[3]+'/'+'page/member/importMembers',
                type: 'POST',  
                data: data,  
                cache: false,
                async: true,
                contentType: false,  
                processData: false,
                success:function(data){  
                    //alert(data);
                    alert("UploadFile Success");
                }   
            });  
            return false;   
        });

控制台显示的是这个错误
图片描述

后台的这块文件的字段这块显示的是
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

恏ㄋ傷疤忘ㄋ疼 2022-09-10 23:30:38

我这块主要是后台写的时候需要用到的html里面的input的name,所以我写的name需要和后台写的是一样的,才能获取到正确的数据
插一句题外话, 前端要是看不懂后台的代码,太吃亏了。。。。

紅太極 2022-09-10 23:30:38

文件上传要设置请求头吧

秋意浓 2022-09-10 23:30:38

<form id='add' action="" method="post" enctype="multipart/form-data">
form中加上enctype,然后可以通过ajaxsubmit提交表单

默嘫て 2022-09-10 23:30:38
$("#add").submit(function(e){
     e.preventDefault(); // 
     ...
     ...
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文