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 判断字符串是否包含某字符串及indexOf使用示例
Oct 18 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
jquery+css实现动感的图片切换效果
Nov 25 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
浅谈vue-cli 3.0.x 初体验
Apr 11 Javascript
vue-router重定向不刷新问题的解决
Jun 25 Javascript
微信小程序实现红包雨功能
Jul 11 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
Nov 09 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
python集合类型用法分析
2015/04/08 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
在python image 中实现安装中文字体
2020/05/16 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
python如何调用php文件中的函数详解
2020/12/29 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物