利用ajaxfileupload插件实现文件上传无刷新的具体方法


Posted in Javascript onJune 08, 2013

 做项目的时候遇到了这样一个问题,如果用普通的ASP.NET FileUpload控件实现文件上传,那么页面会刷新,那么页面上用JS拼出的元素就会消失,为了上传文件,又不能刷新页面,ajaxfileupload插件是一个很好的选择(插件下载地址://img.jbzj.com/file_images/article/201306/js/ajaxfileupload.js)

ajaxfileupload是jQuery的一个插件,使用这个插件同时要引用jQuery.js文件

直接上代码吧

JS代码

[javascript]

//执行AJAX上传文件  
$.ajaxFileUpload({ 
url: '/Web/Teacher/ImportAchievements.ashx', 
secureuri: false, 
fileElementId: 'fulAchievements', 
dataType: 'json', 
success: function (data, status) { 
    alert(data[0]); 
} 
}); 
 //执行AJAX上传文件
 $.ajaxFileUpload({
 url: '/Web/Teacher/ImportAchievements.ashx',
 secureuri: false,
 fileElementId: 'fulAchievements',
 dataType: 'json',
 success: function (data, status) {
  alert(data[0]);
 }
 });

说明:

1.这个方法很像大家熟知的$.ajax方法

2.参数说明

url:AJAX的后台代码文件,要接收前台传来的文件数据

secureuri:是否对上传的文件加密

fileElementId:HTML中<input type="file"/>上传控件的Id值,这里需要注意的是,后台代码是通过name-value的形式接收数据的,所以后台代码是通过name来接收数据的,而不是Id(根本原因是,这个方法会自动生成一个表单,将表单提交给后台代码处理)。

dataType:数据类型,一般是‘json'

success:上传成功后执行的回调函数

ASP.NET一般处理程序中的代码

[csharp]

public void ProcessRequest (HttpContext context) { 
    context.Response.ContentType = "text/html";//这里很关键,虽然前台数据类型是json,但这里一定要写html  
    //获取前台传来的文件  
    HttpFileCollection files = HttpContext.Current.Request.Files; 
    //将文件保存在网站目录中  
    files[0].SaveAs(context.Server.MapPath("/Web/uploadFiles/Achievements.xls")); 
    //返回用json数据格式表示的提示  
    string result = "[" + "\"" + "成绩导入成功" + "\"" + "]"; 
    context.Response.Write(result); } 

public void ProcessRequest (HttpContext context) {
 context.Response.ContentType = "text/html";//这里很关键,虽然前台数据类型是json,但这里一定要写html
 //获取前台传来的文件
 HttpFileCollection files = HttpContext.Current.Request.Files;
 //将文件保存在网站目录中
 files[0].SaveAs(context.Server.MapPath("/Web/uploadFiles/Achievements.xls"));
 //返回用json数据格式表示的提示
 string result = "[" + "\"" + "成绩导入成功" + "\"" + "]";
 context.Response.Write(result);
}

这样就实现了AJAX上传文件,页面不会刷新,有需要的试试吧。
Javascript 相关文章推荐
JScript中的undefined和&quot;undefined&quot;的区别
Mar 08 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
JavaScript程序开发之JS代码放置的位置
Jan 15 Javascript
RGB和YUV 多媒体编程基础详细介绍
Nov 04 Javascript
jQuery给表格添加分页效果
Mar 02 Javascript
详解vue-router基本使用
Apr 18 Javascript
基于js中document.cookie全面解析
Sep 14 Javascript
React Hooks的深入理解与使用
Nov 12 Javascript
基于Vue 实现一个中规中矩loading组件
Apr 03 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
JS代码触发事件代码实例
Jan 02 Javascript
JavaScript自动设置IFrame高度的小例子
Jun 08 #Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 #Javascript
JavaScript String.replace函数参数实例说明
Jun 06 #Javascript
jquery DIV撑大让滚动条滚到最底部代码
Jun 06 #Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 #Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 #Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 #Javascript
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
python提取字典key列表的方法
2015/07/11 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
PyCharm代码格式调整方法
2018/05/23 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
安全教育感言
2014/03/04 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
社区文艺活动方案
2014/08/19 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
单身证明范本
2015/06/15 职场文书
三八妇女节致辞
2015/07/31 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python