ajax上传时参数提交不更新等相关问题


Posted in Javascript onDecember 11, 2012

先前,我从网上下载了一个jQuery的Ajax上传插件,网页的左侧是上传分类,想要实现的一个功能是如此这样的:我本来是打算在服务端根据上传分类建立不同的文件夹来保存文件的,因此这个就需要传一个上传分类参数给后台。这些上传分类是从数据库读出,用repeater生成的。当点击其中一个分类时就给他设置一个样式,并且将这个分类的名字保存到一个变量uploadCatlog中。我可以取到分类并传给后台,但是很奇怪的是只有第一次是正确的,以后的每次参数都不更新。其实在上传插件的onComplete回调函数中也用到了uploadCatlog,它的值也已经更新了。我感觉好像这个上传插件只在第一次点击的时候实例化并将参数传给后台,所以以后值都是不变的,应该怎么解决这个问题呢?下面是我的js代码细节:
JavaScript code:

<script type="text/javascript"> 
$(function () { 
var uploadCatlog; 
//设置母版页导航栏的当前选中样式 
$("#menu .nav5").addClass("menu_active").siblings().removeClass("menu_active"); 
//生成类别菜单样式和导航菜单 
$("#kllst li").click(function () { 
$(this).addClass("currentli").siblings().removeClass(); 
uploadCatlog = $(this).text(); 
}); 
var btnUpload = $('#upload'); 
var status = $('#status'); 
btnUpload.click(function () { 
if (uploadCatlog == undefined) { 
status.text("必须先选择上传文件的类别!").addClass('error'); 
return false; 
} 
new AjaxUpload(btnUpload, { 
action: 'handler/doUpload.ashx', 
name: 'uploadfile', 
onSubmit: function (file, ext) { 
if (!(ext && /^(doc|docx|xls)$/.test(ext))) { 
status.text('只支持WORD,EXCEL格式上传!').addClass('error'); 
return false; 
} 
status.text('正在上传,请稍候...'); 
}, 
data: { "catlog": uploadCatlog }, 
onComplete: function (file, response) { 
status.text('').removeClass('error'); 
if (response == "success") { 
var fimgtype; 
if (file.indexOf(".doc") != -1 || file.indexOf(".docx") != -1) { 
fimgtype = "word"; 
} 
if (file.indexOf(".xls") != -1) { 
fimgtype = "excel"; 
} 
$('<li></li>').appendTo('#files').html('<img src="images/' + fimgtype + '.png" alt="" /><br />[' + uploadCatlog + ']' + file).addClass('success'); 
} else { 
$('<li></li>').appendTo('#files').text(file).addClass('error'); 
} 
} 
}); 
}); 
}); 
</script>

后来找到了一个解决方案,那就是:创建实例后就不会变了,可以在onSubmit回调函数中调用SetData方法设置动态参数,如下的代码及注释详情:
JavaScript code:
//可以使用这些方法来配置AJAX的上传
var upload = new AjaxUpload(‘#div_id',{action: ‘upload.php'});
//例如当用户选择了一些东西,设置一些参数
upload.setData({ ”catlog”:
ajax的上传参数提交,总是会因为各种各样的错误而出现问题,但是如何来解决问题,怎样使用最好的方法来解决问题,是个值得深究的难题,要想很好的解决编程过程中出现的问题,还是需要自己不断的钻研和学习!
Javascript 相关文章推荐
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
Feb 07 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
Feb 24 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
Mar 10 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
微信小程序 火车票查询实例讲解
Oct 17 Javascript
JS实现中国公民身份证号码有效性验证
Feb 20 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
Sep 02 Javascript
npm 语义版本控制详解
Sep 10 Javascript
js简单的分页器插件代码实例
Sep 11 Javascript
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
jQuery(非HTML5)可编辑表格实现代码
Dec 11 #Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 #Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
Dec 10 #Javascript
ajax不执行success回调而是执行了error回调
Dec 10 #Javascript
解决js正则匹配换行问题实现代码
Dec 10 #Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 #Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 #Javascript
You might like
一个颜色轮换的简单例子
2006/10/09 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
jquery动态改变form属性提交表单
2014/06/03 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
Laravel中Kafka的使用详解
2021/03/24 PHP
高中三年学习生活的自我评价
2013/10/10 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
大学专科求职信
2014/07/02 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
中小学生学籍证明
2014/10/25 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
2016年母亲节寄语
2015/12/04 职场文书
检讨书范文
2019/04/16 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL