jquery异步上传文件

最近在学习js,进而接触到jquery. 中间碰到有一个异步上传文件的问题.

我们上传文件是要通过表单的. 也就是form或者最新的一个对象 FormData对象.因为js客户端是无法读取文件的.所以也就不能读到文件的数据,也就不能发送了. 所以我们一定要通过表单or FormData对象.

现在有一个问题,如果你现在有一个表单, 表单之中有一个上传文件的<input>,你想异步上传这个文件, 该怎么办?

如果,你直接递交, 会把整个表单一起递交上去. 这种情况下,我们可以利用FormData对象,把这个文件放到FormData对象里,然后递交到服务器上就行了.

<span style="font-size:24px;">//获取文件</span>
var file_object = $("#file_id").get(0).files[0];

//创建FormData对象, 并将文件对象加入到该对象之中.以便想表单一样递交到服务器.
data = new FormData();
data.append("file", file_object);//这里的"file"取决于你的服务器端是怎么定义的.即根据什么名字来读取文件字符串.
//异步上传
$.ajax({
        type: "POST",
        url: "#",
        data: data,
        processData: false,
        contentType: false,
        cache: false,
        success: function(result) {//result是服务器端返回.
          if(result){
           }
          }else{
            bootbox.alert({
              message:"上传失败",
              className:"bootbox-sm"
            });
          }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            
        }
    });
这样便实现了异步上传文件了.




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值