分享

ajaxfileupload.js问题汇总及解决 附修复版下载(转)

 _小女子_ 2014-02-08

使用Jquery做上传文件处理时,用到了ajaxfileupload.js 这个第三方代码,但是这个js几乎就是半成品,问题很多。现在整理如下并附修复版的ajaxfileupload.js下载。

问题:
1:无法带参数提交,只能上传文件;
2:运行时报:jQuery.handleError is not a function 错误;
3:执行成功后,始终指向error方法处理,无法执行sucess方法;

解决方法:
1:无法带参数提交,只能上传文件;
原作者一定是把这个代码当作练习来写的,只完成了文件提交这个功能。需要对代码做些许修改即可。有两处修改:
第一处是将原createUploadForm: function(id, fileElementId) 方法添加一个data参数,并将data中的数据拼接进去即可。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<br />
    createUploadForm: function(id, fileElementId,data) {<br />
    //create form<br />
    var formId = &#39;jUploadForm' + id;<br />
    var fileId = &#39;jUploadFile' + id;<br />
    var form = jQuery(&#39;<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');<br />
    var oldElement = jQuery(&#39;#' + fileElementId);<br />
    var newElement = jQuery(oldElement).clone();<br />
    jQuery(oldElement).attr(&#39;id', fileId);<br />
    jQuery(oldElement).before(newElement);<br />
    jQuery(oldElement).appendTo(form);
</p>
 
<p>
    /***** 增加参数的支持 *****/<br />
    if (data) {<br />
    for (var i in data) {<br />
    $(&#39;<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);<br />
    }<br />
    }
</p>
 
<p>
    //set attributes<br />
    jQuery(form).css(&#39;position', 'absolute');<br />
    jQuery(form).css(&#39;top', '-1200px');<br />
    jQuery(form).css(&#39;left', '-1200px');<br />
    jQuery(form).appendTo(&#39;body');<br />
    return form;<br />
    },<br />
    

第二处 是调用createUploadForm方法地方,如下所示:

2:运行时报:jQuery.handleError is not a function 错误;
这个错误是由于ajaxfileupload.js 是在jquery1.4.2版本之前写的,Jquery之后的版本已经没有了handleError 方法,所以可以将1.4.2版本中的该方法复制到该js中。

3:执行成功后,始终指向error方法处理,无法执行sucess方法;
这个是由于ajaxfileupload.js 处理返回data的时候,没有考虑后台返回的是字符串的问题(即使返回的JSON格式数据,我们也大多喜欢转化为字符串来返回)。修改uploadHttpData方法:

带参数提交示例代码:

修复版ajaxfileupload.js 下载
百度网盘
华为网盘

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多