利用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 相关文章推荐
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
javascript判断图片是否加载完成的方法推荐
May 13 Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 Javascript
Vue数据驱动模拟实现1
Jan 11 Javascript
详解angularjs结合pagination插件实现分页功能
Feb 10 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 Javascript
JS实现图片放大镜插件详解
Nov 06 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
JavaScript中.min.js和.js文件的区别讲解
Feb 13 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
用jQuery实现抽奖程序
Apr 12 jQuery
JavaScript中ES6规范中let和const的用法和区别
Aug 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
php文档更新介绍
2011/07/22 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
JavaScript Timer实现代码
2010/02/17 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
Angular弹出模态框的两种方式
2017/10/19 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
python 简易计算器程序,代码就几行
2009/08/29 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python中Threading用法详解
2017/12/27 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
python爬取招聘要求等信息实例
2020/11/20 Python
教育课题研究自我鉴定范文
2013/12/28 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
企业读书活动总结
2014/06/30 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
《雷雨》教学反思
2016/02/20 职场文书