jQuery Ajax 上传文件处理方式介绍(推荐)


Posted in Javascript onJune 30, 2016

AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分。

下面的表格列出了所有的 jQuery AJAX 方法:

jQuery Ajax 上传文件处理方式介绍(推荐)

jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,接下来通过本文给大家介绍jquery ajax 上传文件处理方式。

FormData对象

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

所有主流浏览器的较新版本都已经支持这个对象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。之前都是用原生js的XMLHttpRequest写的请求

XMLHttpRequest方式

xhr.open("POST", uri, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
// Handle response.
alert(xhr.responseText); // handle response.
}
};
fd.append('myFile', file);
// Initiate a multipart/form-data upload
xhr.send(fd);

其实jquery的ajax也可以支持到的,关键是设置:processData 和 contentType 。

ajax方式

var formData = new FormData();
var name = $("input").val();
formData.append("file",$("#upload")[0].files[0]);
formData.append("name",name);
$.ajax({ 
url : Url, 
type : 'POST', 
data : formData, 
// 告诉jQuery不要去处理发送的数据
processData : false, 
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
beforeSend:function(){
console.log("正在进行,请稍候");
},
success : function(responseStr) { 
if(responseStr.status===0){
console.log("成功"+responseStr);
}else{
console.log("失败");
}
}, 
error : function(responseStr) { 
console.log("error");
} 
});
Javascript 相关文章推荐
准确获得页面、窗口高度及宽度的JS
Nov 26 Javascript
Javascript中的Split使用方法与技巧
Mar 09 Javascript
xml文档转换工具,附图表例子(hta)
Nov 17 Javascript
JQuery筛选器全系列介绍
Aug 27 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
vue基于Vue2.0和高德地图的地图组件实例
Apr 28 Javascript
使用JavaScript解析URL的方法示例
Mar 01 Javascript
JS实现打砖块游戏
Feb 14 Javascript
Node.js API详解之 os模块用法实例分析
May 06 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
Jun 30 #Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
Jun 30 #Javascript
浅谈JS中json数据的处理
Jun 30 #Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 #Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 #Javascript
简单实现js间歇或无缝滚动效果
Jun 29 #Javascript
js精准的倒计时函数分享
Jun 29 #Javascript
You might like
基于php冒泡排序算法的深入理解
2013/06/09 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
python 生成目录树及显示文件大小的代码
2009/07/23 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python函数返回值实例分析
2015/06/08 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
Python与R语言的简要对比
2017/11/14 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
个人借条范本
2015/05/25 职场文书
朋友聚会开场白
2015/06/01 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
Golang日志包的使用
2022/04/20 Golang