ajax异步上传带文件的表单 http://www.cnblogs.com/gaojun/archive/2012/08/11/2633891.html

<! DOCTYPE  html>
< html >
      <  head >
            <  meta  charset =  "UTF-8" >
            <  title ></ title  >
      

    <  title >Html5 Ajax 上传文件</ title >

    <  script  type =  "text/javascript" >

         function  UpladFile () {

             var  fileObj  =  document .getElementById( "file"  ).files[ 0 ];  // js 获取文件对象

             var  FileController  =  "http://120.24.41.150/jfinal_demo/user/updateuser/"  ;                     // 接收上传文件的后台地址



             // FormData 对象

             var  form  = new  FormData();

            form.append(  "user.id" ,  "1"  );  
            form.append(  "user.email" ,  "hooyes"  ); 
            form.append(  "user.passwd" ,  "hooyes"  ); 
            form.append(  "user.username" ,  "hooyes"  );   // 可以增加表单数据
           
           
           
               form.append( "iconimg"  , fileObj);                            // 文件对象



             // XMLHttpRequest 对象

             var  xhr  = new  XMLHttpRequest ();

             xhr . open  ( "post" ,  FileController ,  true  );

            xhr . onreadystatechange  =  callback ;  //在readystatechange事件上绑定一个函数
        //当接收到数据时,会调用readystatechange事件上的事件处理函数
      
      



           

             xhr.send(form);
           
           
             function  callback () {
              //在这里面没有使用this.readyState这是因为IE下面ActiveXObject的特殊性
              if  (xhr.readyState  ==  4 ) { //readyState表示文档加载进度,4表示完毕
                    alert(xhr.responseText); //responseText属性用来取得返回的文本
                 }
            }
           



        }

     
    </  script >

</ head >

< body >

    <  progress  id =  "progressBar"  value =  "0"  max =  "100" >

    </  progress >

    <  span  id =  "percentage" ></ span  >

    <  br  />

    <  input  type =  "file"  id =  "file"  name =  "myfile"  />

    <  input  type =  "button"  onclick =  " UpladFile ()  "  value =  "上传"  />

</ body >

</ html >

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值