Jquery Ajax通过接口上传文件实现及注意事项

准备工作

代码实现

  • HTML
<form class="form-horizontal" id="resGyForm">
     <div class="form-group">
          <label for="upload_file" class="col-sm-2 control-label">上传文件</label>
          <div class="col-sm-10">
               <input type="file" id="upload_file">
          </div>
    </div>
	<div class="form-group">
	    <div class="col-sm-offset-2 col-sm-10">
             <button type="button" class="btn btn-primary" id="btn">提交</button>
        </div>
    </div>
</form>
  • JavaScript
$("#upload_file").change(function () {
   	var file = $("#upload_file")[0].files[0];
    var formData = new FormData();
    formData.append("upload_file",file);
    $.ajax({
      	url:"/manage/upload/upload_file.do",
        type:"POST",
        data:formData,
        dataType:"json",
        processData : false,	// 使数据不做处理
        contentType: false,		// 不要设置Content-Type请求头
        success:function() {
        	if (res.status == 0){
                alert("成功");
            } else {
                alert(res.msg);
            }
        }
   	});

注意事项

  • 上传方式为type:"POST"

  • 文件其参数类型属于对象,可以创建一个 FormData 对象,然后调用它的 append() 方法来添加字段

    var file = $("#upload_file")[0].files[0];
    var formData = new FormData();
    formData.append("upload_file",file);
    
  • 通过Ajax上传表单需要设置contentType:"application/x-www-form-urlencoded",这个和文件没有关系,但是因为我通过Ajax提交form表单忘记设置,导致上传表单失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dadeity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值