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 相关文章推荐
JavaScript在IE中“意外地调用了方法或属性访问”
Nov 19 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
Oct 14 Javascript
js实现图片点击左右轮播
Jul 08 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
javascript运算符——逻辑运算符全面解析
Jun 27 Javascript
基于JavaScript实现窗口拖动效果
Jan 18 Javascript
微信小程序 支付后台java实现实例
May 09 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
linux 后台运行node服务指令方法
May 23 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
js中关于Blob对象的介绍与使用
Nov 29 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 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中adodbzip类实例
2014/12/08 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
js 上传文件预览的简单实例
2016/08/16 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
JS实现的DIV块来回滚动效果示例
2017/02/07 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Python实现分段线性插值
2018/12/17 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
python爬虫可以爬什么
2020/06/16 Python
python 实现Harris角点检测算法
2020/12/11 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
先进员工事迹材料
2014/12/20 职场文书
客户经理岗位职责
2015/01/31 职场文书