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将NodeList作为Array数组处理的方法
Jul 09 Javascript
JavaScript中的eval()函数详解
Aug 22 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
js 获取元素下面所有li的两种方法
Apr 14 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
Nov 10 Javascript
canvas知识总结
Jan 25 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
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数据库连接
2006/10/09 PHP
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
js传值 判断
2006/10/26 Javascript
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
python函数的5种参数详解
2017/02/24 Python
Python程序运行原理图文解析
2018/02/10 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
python相对企业语言优势在哪
2020/06/12 Python
python re模块常见用法例举
2021/03/01 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
股权转让意向书
2014/04/01 职场文书
叶问观后感
2015/06/15 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书