通过Ajax方式上传文件使用FormData进行Ajax请求

这篇文章主要介绍了通过ajax方式上传文件使用formdata进行ajax请求的相关资料,需要的朋友可以参考下

通过传统的form表单提交的方式上传文件:

Html代码 


登录后复制登录后复制登录后复制

不过传统的form表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用Ajax的方式进行请求的:

Js代码 

$.ajax({    url : "http://localhost:8080/STS/rest/user",    type : "POST",    data : $( '#postForm').serialize(),    success : function(data) {      $( '#serverResponse').html(data);    },    error : function(data) {      $( '#serverResponse').html(data.status + " : " + data.statusText + " : " + data.responseText);    } });

登录后复制

如上,通过$(‘#postForm’).serialize()可以对form表单进行序列化,从而将form表单中的所有参数传递到服务端。

但是上述方式,只能传递一般的参数,上传文件的文件流是无法被序列化并传递的。
不过如今主流浏览器都开始支持一个叫做FormData的对象,有了这个FormData,我们就可以轻松地使用Ajax方式进行文件上传了。

关于FormData及其用法

FormData是什么呢?我们来看看Mozilla上的介绍。

XMLHttpRequest Level 2添加了一个新的接口FormData.利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttpRequest的send()方法来异步的提交这个”表单”.比起普通的ajax,使用FormData的最大优点就是我们可以异步上传一个二进制文件. 

所有主流浏览器的较新版本都已经支持这个对象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。

参见:https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/FormData

这里只展示一个通过from表单来初始化FormData的方式


登录后复制登录后复制登录后复制

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);      }    }); }

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

jQuery Ajax方式上传文件的方法

利用ajax实现异步刷新请求

Ajax+php实现商品分类三级联动

以上就是通过Ajax方式上传文件使用FormData进行Ajax请求的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2758668.html

(0)
上一篇 2025年3月8日 08:15:57
下一篇 2025年3月7日 15:58:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Ajax请求成功后打开新窗口地址

    这篇文章主要介绍了ajax请求成功后打开新窗口地址的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 废话不多说,关键代码如下所示: jQuery.ajax({“type”:”post”,”url”:”http://www.bai…

    编程技术 2025年3月8日
    200
  • Ajax实现智能提示搜索功能

    这篇文章主要为大家详细介绍了ajax实现智能提示搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 一、效果图: 二、实现过程:   思路:  三、部分代码:html:      Google   登录后复制 css代码:  * {…

    2025年3月8日
    200
  • 反向Ajax 30分钟快速掌握

    这篇文章主要介绍了反向ajax 30分钟快速掌握的相关资料,需要的朋友可以参考下 场景1:当有新邮件的时候,网页自动弹出提示信息而无需用户手动的刷新收件箱。 场景2:当用户的手机扫描完成页面中的二维码以后,页面会自动跳转。 场景3:在类似聊…

    2025年3月8日
    200
  • Ajax全局加载框(Loading效果)的配置

    这篇文章主要介绍了ajax全局加载框(loading效果)的配置的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在Ajax进行后台数据请求的过程中,我们有时候会希望用户能知道页面后台还在做一些事情,这时候就需要给用户一个非常明…

    编程技术 2025年3月8日
    200
  • Ajax加载菊花loding效果

    这篇文章主要介绍了ajax加载菊花loding效果的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 Ajax 异步请求的时候,一般都会利用一个动态的 gif小图片来制作一个Ajax Loading ,以便增加用户体验。 这里我们…

    2025年3月8日
    200
  • 浅谈ajax请求技术

    下面我就为大家带来一篇浅谈ajax请求技术。现在就分享给大家,也给大家做个参考。 1.写在前面: 阅读要求: 具有一定的HTML、CSS、JavaScript、Json基础 2.什么是ajax Ajax:即”Asynchronous Jav…

    2025年3月8日
    200
  • 非常实用的ajax用户注册模块

    这篇文章主要为大家详细介绍了非常实用的ajax用户注册模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在网站设计中,ajax技术的使用已经很普遍了,尤其在交互式的网站中,ajax技术更不可缺少了,几乎在所有的交互式网站应用中,都会看…

    2025年3月8日
    200
  • Ajax点击不断加载数据列表(图文教程)

    这篇文章主要介绍了ajax点击不断加载数据列表的相关资料,需要的朋友可以参考下 Ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页…

    2025年3月8日
    200
  • Ajax调用restful接口传送Json格式数据的方式(附有代码)

    这篇文章主要介绍了ajax调用restful接口传送json格式数据的方法的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧 ajax传送json格式数据,关键是指定contentType,data要是json格式 如果是res…

    编程技术 2025年3月8日
    200
  • IE8用ajax访问不能每次都刷新的问题

    这篇文章主要介绍了ie8用ajax访问不能每次都刷新的问题 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 AJAX简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScrip…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论