jquery 请求html文件上传,使用jQuery HTML5和FormData上传文件的方法示例

在HTML5之前,有一系列jquery的技术和插件来实现AJAX文件上传。HTML5引入了可以简化文件上传的FormData类。本篇文章给大家介绍一下使用jQuery HTML5和FormData上传文件的方法示例。$('#myform').on('sumbit', function(){

var form = $(this);

var formdata = false;

if (window.FormData)

{

formdata = new FormData(form[0]);

}

var formAction = form.attr('action');

$.ajax({

url : '/upload',

data : formdata ? formdata : form.serialize(),

cache : false,

contentType : false,

processData : false,

type : 'POST',

success : function(data, textStatus, jqXHR){

// Callback code

}

});

});

你不需要任何插件,flash或iframe技巧就能有效的实现。这里有一些技巧可以使这些代码以我们期望的方式工作:

当我们创建FormData的实例时,我们传递form [0]而不是form。它的意思是实际的表单元素,但不是jQuery选择器。

我们只是传递false而不是定义contentType。这意味着jQuery不向请求添加 Content-Type头部。

我们设置processData为false,所以,jQuery不会将我们的data值(以FormData为基础)转换为字符串。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值