两个项目中使用到了ajaxfileupload ;其中一个正常(jquery.ajaxfileupload.js + jquery.min.js);另外一个上传(jquery.ajaxfileupload.js+jquery.3.2.0.min.jr)可以完成但是回调抛异常;自己弄了半天没有找到问题,还是请教同事才找到冲突的地方……

抛出的异常是:
jquery-3.2.0.min.js:2452 Uncaught TypeError: a.indexOf is not a function

大致原因分析:query1.5之后修改load、error等一些方法,导致ajaxfileupload 执行原有的load方法,抛出了异常;下面看下原来ajaxfileupload 在load中执行的是什么

jQuery('#' + frameId).load(uploadCallback ); 加载一个回调函数
由于传入的是一个回调函数和新版本的load的参数不匹配,所以抛异常;解决办法就是使用jquery3.2.0 新的添加绑定方法来添加回调函数
jQuery('#' + frameId).on("load",uploadCallback );

这个异常就排除了…感谢聪明到没朋友的同事
end。
网友评论