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 相关文章推荐
简明json介绍
Sep 28 Javascript
JS中的public和private对象,即static修饰符
Jan 18 Javascript
文本框input聚焦失焦样式实现代码
Oct 12 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
jquery实现鼠标滑过显示提示框的方法
Feb 05 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 Javascript
原生javascript实现匀速运动动画效果
Feb 26 Javascript
JS判断form内所有表单是否为空的简单实例
Sep 09 Javascript
vue引入axios同源跨域问题
Sep 27 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
google广告之另类js调用实现代码
Aug 22 Javascript
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
PHP实时显示输出
2008/10/02 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
怎么写有吸引力的自荐信
2013/11/17 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
指导教师评语
2014/04/26 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
助学贷款贫困证明
2014/09/23 职场文书
教师四风问题整改措施
2014/09/25 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
部分武汉产收音机展览
2022/04/07 无线电
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python