ajax 文件上传

吾生也有涯,而知也无涯~欢迎优化补充、指正!

(直接复制demo即可使用,或者单独粘贴相应片段!)

写项目与前端做交互式时出现一个问题:form表单正常提交文件,后台可以收到,但当使用ajax异步上传时就无法获取…

经过本后台一番‘云雨’之后,发现一个惊天秘密--FormData (估计是自己写后台对jquery了解不足才感到惊讶~)

废话不多敲,demo如下:

1.前端form

<!-- 上传文件别忘记加 enctype="multipart/form-data" -->
<form method="post" id="productUploadForm" enctype="multipart/form-data" encoding="multipart/form-data">
    <input type="file" class="up_file" name="excel" value="" id="filename">
    <a class="product_upload"><span class="fa fa-upload"></span> 上传商品</a>
</form>

2.前台js

<script type="text/javascript">
	$(document).ready(function(){
	 	$(".product_upload").click(function () {
            var formData = new FormData($("#productUploadForm")[0]);
            $.ajax({
                type : "post",
                data : formData,
                url : '__HTTP__/index/order/uploadExcel',   //ajax上传的路径
                dataType : 'json',
                contentType: false, //必须,告诉jquery不要设置Content-Type请求头
                processData: false, //必须,告诉jquery不要处理发送的数据
                success : function(res) {
                    //^V^
                },
                error : function(res) {
                	//^M^
                }
            });
        });
	});
</script>

3.后台接收

echo "
        爱怎么接就怎么接,和form正常提交的接法一毛一样!直接获取input name即可
    ";

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值