简介:提供修复后的jQuery ajaxfileupload.js上传插件下载,增强文件上传功能,解决原版中存在的问题,兼容性更强,使用更便捷。
在使用Jquery处理文件上传时遇到一些问题,并且发现第三方插件ajaxfileupload.js 存在缺陷。以下是整理的问题及解决方案:
1. 文件提交功能限制:该插件仅支持上传文件,无法携带额外的参数。
2. 运行错误:“jQuery.handleError is not a function” 错误提示出现,原因是 ajaxfileupload.js 是基于早期 jQuery 版本编写的,在较新版本中此方法已被移除。
3. 成功后处理问题:执行成功时,默认指向了 error 方法而不是 success 方法。
解决措施如下:
1. 为了使插件支持带参数提交文件,需要对代码进行一些修改。主要改动包括:
- 在 createUploadForm: function(id, fileElementId) 方法中添加一个 data 参数,并将该数据拼接到表单中。
- 修改调用 createUploadForm 的地方以使用新的带有额外参数的方法。
2. 为解决“jQuery.handleError is not a function”错误,可以找到 jQuery 1.4.2 版本中的 handleError 方法并将其复制到 ajaxfileupload.js 中,这样就可以兼容较新版本的 jQuery 库了。
3. 若要修复执行成功后默认指向 error 处理的问题,请检查插件如何处理返回的数据。通常问题出在它没有正确识别后台返回字符串的情况(即使数据是以 JSON 格式发送)。需要重新编写这部分代码以确保无论何种形式,都能正常解析并调用 success 方法。
通过以上步骤可以有效地修复和增强 ajaxfileupload.js 的功能,使其更加符合当前环境的需求。