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 相关文章推荐
javascript function调用时的参数检测常用办法
Feb 26 Javascript
javascript时间函数基础介绍
Mar 28 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
jquery 为a标签绑定click事件示例代码
Jun 23 Javascript
JQuery.get提交页面不跳转的解决方法
Jan 13 Javascript
JS实现的倒计时效果实例(2则实例)
Dec 23 Javascript
Vue.JS入门教程之自定义指令
Dec 08 Javascript
Node.js制作简单聊天室
Jan 12 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 Javascript
JS中call()和apply()的功能及用法实例分析
Jun 28 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
桌面中心(三)修改数据库
2006/10/09 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
Numpy之random函数使用学习
2019/01/29 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
python绘制玫瑰的实现代码
2020/03/02 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
小学学校评估方案
2014/06/08 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
趣味运动会加油词
2015/07/18 职场文书
安全学习心得体会范文
2016/01/18 职场文书