利用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 相关文章推荐
网页自动跳转代码收集
Sep 27 Javascript
js继承call()和apply()方法总结
Dec 08 Javascript
使用JavaScript获取地址栏参数的方法
Dec 19 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
微信页面弹出键盘后iframe内容变空白的解决方案
Sep 20 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
JS 封装父页面子页面交互接口的实例代码
Jun 25 Javascript
JS实现在线ps功能详解
Jul 31 Javascript
微信小程序 搜索框组件代码实例
Sep 06 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 Ajax乱码
2008/04/09 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
PHP中的替代语法介绍
2015/01/09 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
react基本安装与测试示例
2020/04/27 Javascript
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
python使用matplotlib绘制热图
2018/11/07 Python
python sorted函数的小练习及解答
2019/09/18 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
什么是唯一索引
2015/07/05 面试题
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
促销活动方案模板
2014/02/24 职场文书
企业节能减排实施方案
2014/03/19 职场文书
大学开学计划书
2014/04/30 职场文书
运动会口号8字
2014/06/07 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android