关于ajaxfileupload.js的使用

来源:互联网 发布:火影手游刷金币软件 编辑:程序博客网 时间:2024/06/04 18:30

因最近用到ajax文件上传,所以使用了ajaxfileupload.js这个基于JQuery的插件,但下载下来的这个ajaxfileupload.js是基于JQuery1.2.1的,而现在这个版本应该都不用了吧,用的应该都是1.4以上的了,这个js文件又刚好使用了到一个叫handleError的方法,该方法在1.4版本以后就不存在了,所以使用这个插件的时候要把handleError这个方法复制到ajaxfileupload.js文件中handleError这个方法的具体代码为:

handleError: function( s, xml, status, e ) {// If a local callback was specified, fire itif ( s.error ) s.error( xml, status, e );// Fire the global callbackif ( s.global )jQuery.event.trigger( "ajaxError", [xml, s, e] );}

至于还有人说要把uploadHttpData这个方法中的eval( "data = " + data );这句进行修改个人试验是不需要的,修改了反而出错了。


个人觉得这个插件还有个不足之处是不能在其创建的表单中添加新参数字段,例如我要传递这个附件的描述,所以本人对这个插件作了一些更改,使其可以添加新参数字段,具体方法是:

1.先说明一下在自已编写的js文件中传递额外参数的方式。在原有传递参数的基础上添加一个名为params的json对象,如:

params: [{name:"price", value:attach_price}, {name:"description", value:attach_description}]

2.把ajaxfileupload.js的createUploadForm方法签名更改为createUploadForm: function(id, fileElementId, data, params),再在更改后的方法内部对params进行迭代

//添加自定义参数for(var i=0; i<params.length; i++) {jQuery('<input type="hidden" name="' + params[i].name + '" value="' + params[i].value + '" />').appendTo(form);}
当然这段代码要添加在创建form标签之后。


好了,这样就可以添加自定义参数了。

当然还有一种方法是在url中传递参数,但这种方法有几个缺点:

1.因为这种方法传递参数采用的是GET方式,所以传递的参数大小有限制,像上面传递的附件描述,如果描述文字量很大超过1024字节而上传的会有丢失。

2.如果传递的参数中含有中文,得在客户而对其进行URL编码,还得在服务器进行相信的解码处理才能得到正确的数据,增加了额外的工作量。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 尿多是什么原因造成的怎么办 5岁宝宝老尿床怎么办 五岁了还尿床怎么办 2岁宝宝晚上尿床怎么办 胃疼腹泻稀水怎么办 网购成瘾怎么办 知乎 军人被警察打了怎么办 对高院再审不服怎么办 对高院判决不服怎么办 白色砂锅烧黑了怎么办 手机被偷关机了怎么办 狗被眼镜蛇咬了怎么办 穿高跟鞋脚趾头长茧怎么办 穿皮鞋脚底板疼怎么办 鞋子穿了脚趾痛怎么办 脚被鞋子磨肿了怎么办 脚趾磨出茧子怎么办疼 脚掌长茧走路疼怎么办 脚底磨出茧子疼怎么办 手指上写字有茧怎么办 写字磨的茧子疼怎么办 脚上的大脚骨疼怎么办 脸特别烫 又红怎么办 6岁宝宝发音不准怎么办 3岁宝宝发音不准怎么办 5岁宝宝发音不准怎么办 4岁宝宝发音不准怎么办 被螃蟹夹出血了怎么办 苹果6主板坏了怎么办 键盘掉了一个键怎么办 汽车屏幕砸坏了怎么办 电视的屏幕坏了怎么办 高三孩子早恋该怎么办 高一早恋家长该怎么办 高二早恋家长该怎么办 200斤新娘抱不动怎么办 160斤新娘抱不动怎么办 科目二挂了5次怎么办 纹身纹完了肿了怎么办 在宿舍被孤立了怎么办 b站视频不见了哟怎么办