使用FormData,进行Ajax请求并上传文件

Html代码:

<form id= "uploadForm">  
      <p >指定文件名: <input type="text" name="filename" value= ""/></p >  
      <p >上传文件: <input type="file" name="file"/></ p>  
      <input type="button" value="上传" onclick="doUpload()" />  
</form>  

Js代码:

function doUpload() {  
     var formData = new FormData($( "#uploadForm" )[0]);  
     $.ajax({  
          url: 'http://localhost:8080/cfJAX_RS/rest/file/upload' ,  
          type: 'POST',  
          data: formData,  
          async: false,  
          cache: false,  
          contentType: false,  
          processData: false,  
          success: function (returndata) {  
              alert(returndata);  
          },  
          error: function (returndata) {  
              alert(returndata);  
          }  
     });  
}  

注意:FormData在$.ajax中使用,需要注意以下两点:①传输类型为post;②需要加上processData:false和contentType:false两个选项。因为,他们的数据直接是FormData对象,不需要对数据做处理。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页