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等比例缩放图片控制超出范围的图片
Aug 06 Javascript
javascript跨域的4种方法和原理详解
Apr 08 Javascript
详解JavaScript中的4种类型识别方法
Sep 14 Javascript
jQuery.uploadify文件上传组件实例讲解
Sep 23 Javascript
基于vue实现多引擎搜索及关键字提示
Mar 16 Javascript
单击按钮发送验证码,出现倒计时的简单实例
Mar 17 Javascript
angular+ionic返回上一页并刷新页面
Aug 08 Javascript
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
javascript实现5秒倒计时并跳转功能
Jun 20 Javascript
Vue2.0搭建脚手架
Mar 13 Vue.js
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
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
PHP网页安全认证的实例详解
2017/09/28 PHP
javascript全局变量封装模块实现代码
2012/11/28 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
九步学会Python装饰器
2015/05/09 Python
Python编程入门的一些基本知识
2015/05/13 Python
python修改操作系统时间的方法
2015/05/18 Python
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
Python3 加密(hashlib和hmac)模块的实现
2017/11/23 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
python构建指数平滑预测模型示例
2019/11/21 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
公务员培训自我鉴定
2014/02/01 职场文书
数控机床专业自荐信
2014/05/19 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
教师考察材料范文
2014/06/03 职场文书
秋收起义观后感
2015/06/11 职场文书
PHP中->和=>的意思
2021/03/31 PHP