利用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 相关文章推荐
永不消失的title提示代码
Feb 15 Javascript
extJs 下拉框联动实现代码
Apr 09 Javascript
JavaScript中的prototype使用说明
Apr 13 Javascript
Linux下使用jq友好的打印JSON技巧分享
Nov 18 Javascript
对于jQuery性能的一些优化建议
Aug 13 Javascript
js+css实现超简洁的二级下拉菜单效果代码
Sep 07 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
layui从数据库中获取复选框的值并默认选中方法
Aug 15 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
微信小程序入口场景的问题集合与相关解决方法
Jun 26 Javascript
vue获取data数据改变前后的值方法
Nov 07 Javascript
JavaScript代码简化技巧实例解析
Sep 09 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(3) php 函数
2010/02/15 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
jquery动态添加option示例
2013/12/30 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
react-router中的属性详解
2017/06/01 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
python实现用户登陆邮件通知的方法
2015/07/09 Python
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python中方法链的使用方法
2016/02/23 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
详解python中__name__的意义以及作用
2019/08/07 Python
Python读取表格类型文件代码实例
2020/02/17 Python
Django 返回json数据的实现示例
2020/03/05 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
最新远光软件笔试题面试题内容
2013/11/08 面试题
如何理解transaction事务的概念
2015/05/27 面试题
人力资源部经理助理岗位职责
2014/03/04 职场文书
小学五年级学生评语
2014/04/22 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
自我推荐信格式模板
2015/03/24 职场文书
六年级情感作文之500字
2019/10/23 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python