利用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 相关文章推荐
JQuery Ajax通过Handler访问外部XML数据的代码
Jun 01 Javascript
jQuery表单美化插件jqTransform使用详解
Apr 12 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
May 09 Javascript
javascript实现随机生成DIV背景色
Jun 20 Javascript
Zepto实现密码的隐藏/显示
Apr 07 Javascript
react build 后打包发布总结
Aug 24 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
Vue.js实现开发购物车功能的方法详解
Feb 22 Javascript
js实现坦克大战游戏
Feb 24 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 Javascript
vue+springboot实现登录验证码
May 27 Vue.js
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中文字母数字验证码实现代码
2008/04/25 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
Vue精简版风格概述
2018/01/30 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python map和reduce函数用法示例
2015/02/26 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
工程总经理工作职责
2013/12/09 职场文书
促销活动总结范文
2014/04/30 职场文书
商场促销活动总结
2014/07/10 职场文书
营销总监岗位职责
2014/09/16 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android