js ajaxfileupload.js上传报错的解决方法


Posted in Javascript onMay 05, 2016

相信大家在工作中经常用到文件上传的操作,因为我是搞前端的,所以这里主要是介绍ajax在前端中的操作。代码我省略的比较多,直接拿js那里的

$.ajaxFileUpload({
   url:'www.coding/mobi/file/uploadSingleFile.html',//处理图片脚本
   secureuri :false,
   fileElementId :'image2',//file控件id。就是input type="file" id="image2"
   dataType : 'json',
   success : function (data, status){
    console.log(data);
   },
   error: function(data, status, e){
    alert(e);
   }
   })

按照教程,这样子上传的话是没有问题的,可是它一直有一个报错。报的是什么错有点忘了,不好意思 ,因为用完很久才记得补回这篇文章,但是要修改它的源码,那个错误就可以解决了 

它源码的最后一段是这样子的

uploadHttpData: function( r, type ) {
 var data = !type;
 data = type == "xml" || data ? r.responseXML : r.responseText;
 // If the type is "script", eval it in global context
 if ( type == "script" )
  jQuery.globalEval( data );
 // Get the JavaScript object, if JSON is used.
 if ( type == "json" )
  eval( "data = " + data );
 // evaluate scripts within html
 if ( type == "html" )
  jQuery("<div>").html(data).evalScripts();
  //alert($('param', data).each(function(){alert($(this).attr('value'));}));
 return data;
 }

将这一段改为这样子

uploadHttpData: function( r, type ) {
 var data = !type;
 data = type == "xml" || data ? r.responseXML : r.responseText;
 // If the type is "script", eval it in global context
 if ( type == "script" )
  jQuery.globalEval( data );
 // Get the JavaScript object, if JSON is used.
 if ( type == "json" ){
  // 因为json数据会被<pre>标签包着,所以有问题,现在添加以下代码,
  // update by hzy
  var reg = /<pre.+?>(.+)<\/pre>/g; 
  var result = data.match(reg);
  result = RegExp.$1;
  // update end
  data = $.parseJSON(result);
  // eval( "data = " + data );
 // evaluate scripts within html
 }
 if ( type == "html" )
  jQuery("<div>").html(data).evalScripts();
  //alert($('param', data).each(function(){alert($(this).attr('value'));}));
 return data;
 }

这样就可以正常使用了。

另一种情况:ajaxFileUpload 报这错jQuery.handleError is not a function

版本1.4.2之前的版本才有handlerError方法,例子里使用的Jquery是1.2的,解决方法:

为了能够继续使用ajaxfileupload上传我们的附件,只好将下面代码拷进我们的项目中的ajaxfileupload.js文件中

handleError: function( s, xhr, status, e )  { 
  // If a local callback was specified, fire it 
    if ( s.error ) { 
     s.error.call( s.context || s, xhr, status, e ); 
    } 
 
    // Fire the global callback 
    if ( s.global ) { 
     (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); 
    } 
 }

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是面对ajaxupload.js上传报错问题的解决方法,希望能帮助大家解决困难,也希望大家继续关注三水点靠木更多精彩内容。

Javascript 相关文章推荐
js 键盘记录实现(兼容FireFox和IE)
Feb 07 Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 Javascript
动态的绑定事件addEventListener方法的使用
Jan 24 Javascript
JQuery 在线引用及测试引用是否成功
Jun 24 Javascript
jQuery中text() val()和html()的区别实例详解
Jun 28 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
vue2.0 与 bootstrap datetimepicker的结合使用实例
May 22 Javascript
AngularJS 教程及实例代码
Oct 23 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
Sep 25 Javascript
Nuxt升级2.0.0时出现的问题(小结)
Oct 08 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
javascript执行环境及作用域详解
May 05 #Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 #Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 #Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 #Javascript
使用jquery.form.js实现图片上传的方法
May 05 #Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
May 05 #Javascript
浅析JS异步加载进度条
May 05 #Javascript
You might like
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
python实现图片批量剪切示例
2014/03/25 Python
Python实现获取网站PR及百度权重
2015/01/21 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
使用Python进行目录的对比方法
2018/11/01 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
软件设计的目标是什么
2016/12/04 面试题
PyQt 如何创建自定义QWidget
2021/03/24 Python
高中考试作弊检讨书
2014/01/14 职场文书
交通工程专业推荐信
2014/09/06 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
国家助学金感谢信
2015/01/21 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
国庆节慰问信
2015/02/15 职场文书
我是特种兵观后感
2015/06/11 职场文书